<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<!-- 
	Copyright (C) 2007, 2008, 2009, 2010, 2011. PARP Research Group.
	<http://perception.inf.um.es>
	University of Murcia, Spain.

	This file is part of the QVision library.

	QVision is free software: you can redistribute it and/or modify
	it under the terms of the GNU Lesser General Public License as
	published by the Free Software Foundation, version 3 of the License.

	QVision is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU Lesser General Public License for more details.

	You should have received a copy of the GNU Lesser General Public
	License along with QVision. If not, see <http://www.gnu.org/licenses/>.
-->

<html><head><meta http-equiv="content-Type" content="text/html;charset=UTF-8">
<title>QVision: Qt&#39;s Image, Video and Computer Vision Library</title>
<meta name="title" content="QVision" />
<meta name="dc.title" content="QVision" />
<meta name="url" content="http://perception.inf.um.es/QVision" />
<meta name="author" content="PARP Research Group - http://perception.inf.um.es" />
<meta name="revisit-after" content="30 DAYS"/>
<meta name="robots" content="index,follow"/>
<meta name="classification" content="*">
<meta name="rating" content="Safe For Kids">
<meta name="distribution" content="GLOBAL"/>
<meta name="description" content="Qt's Image, Video and Computer Vision Library"/>
<meta name="page-topic" content="Computer Vision research and prototype programming"/>
<meta name="geo.country" content="ES" />

<!--
Keywords:
By license:		open source, gnu, lgpl, gpl, free
By theme:		computer vision, image processing, robotics, programming, source, development
By usage:		library, toolkit, framework, prototype, application
By programming specs:	object oriented, c++, block programming, reusability, gui, graphical, parallel computing, high performance, GPU, prototyping
Interoperability with:	Qt, GSL, GNU Scientific library, OpenCV, CGAL, QWT, CUDA, mplayer, IPP, Intel Image Performance Primitives, blas, lapack
Functionallity:		image features, matrix algebra, projective geometry, mser, function minimization, function optimization, canny operator, harris operator, corner detection, performance evaluation, cpu usage, graphical interface
Main data-types:	matrix, vector, tensor, quaternion, image, polyline
Video sources:		webcam, camera, stream
Devices:		embedded, desktop computer, laptop, mini-laptop
Authors:		PARP research group. University of Murcia, Spain.
-->

<meta name="keywords" content="augmented reality, sfm, structure from motion, open source, gnu, lgpl, gpl, free, computer vision, image processing, robotics, programming, source, development, library, toolkit, framework, prototype, application, object oriented, c++, block programming, reusability, gui, graphical, parallel computing, high performance, GPU, prototyping, Qt, GSL, GNU Scientific library, OpenCV, CGAL, QWT, CUDA, mplayer, IPP, Intel Image Performance Primitives, blas, lapack, image features, matrix algebra, projective geometry, mser, function minimization, function optimization, canny operator, harris operator, corner detection, performance evaluation, cpu usage, graphical interface, matrix, vector, tensor, quaternion, image, polyline, webcam, camera, stream, embedded, desktop computer, laptop, mini-laptop, University of Murcia, Spain, PARP research group, vision por computador"/>
<meta http-equiv="keywords" content="augmented reality, sfm, structure from motion, open source, gnu, lgpl, gpl, free, computer vision, image processing, robotics, programming, source, development, library, toolkit, framework, prototype, application, object oriented, c++, block programming, reusability, gui, graphical, parallel computing, high performance, GPU, prototyping, Qt, GSL, GNU Scientific library, OpenCV, CGAL, QWT, CUDA, mplayer, IPP, Intel Image Performance Primitives, blas, lapack, image features, matrix algebra, projective geometry, mser, function minimization, function optimization, canny operator, harris operator, corner detection, performance evaluation, cpu usage, graphical interface, matrix, vector, tensor, quaternion, image, polyline, webcam, camera, stream, embedded, desktop computer, laptop, mini-laptop, University of Murcia, Spain, PARP research group, vision por computador"/>
<meta http-equiv="pragma" content="no-cache"/>
<meta http-equiv="title" content="QVision"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="tabs.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="favicon.ico" />
</head><body>

<table width="100%"><tr>
	<td><a href="http://perception.inf.um.es/"><img src="parp.png" border="0" /> <big>PARP Research Group</big></a></td>
	<td align="right"><a href="http://www.um.es/"><big>Universidad de Murcia</big> <img src="um.png" border="0" /></a></td>
</tr></table>

<hr /><br />

<table width="95%" align="center"><tr><td>

<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <form id="FSearchBox" action="search.php" method="get">
            <img id="MSearchSelect" src="search/search.png" alt=""/>
            <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                   onfocus="searchBox.OnSearchFieldFocus(true)" 
                   onblur="searchBox.OnSearchFieldFocus(false)"/>
          </form>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
<h1>src/qvsfm/laSBA/imgproj.c</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* Code automatically generated by maple&#39;s codegen package */</span>
<a name="l00002"></a>00002 
<a name="l00003"></a>00003 <span class="comment">/* Computation of the predicted projection of a 3D point and its jacobians */</span>
<a name="l00004"></a>00004 
<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;math.h&gt;</span>
<a name="l00006"></a>00006 <span class="keywordtype">void</span> calcImgProj(<span class="keywordtype">double</span> a[5],<span class="keywordtype">double</span> qr0[4],<span class="keywordtype">double</span> v[3],<span class="keywordtype">double</span> t[3],<span class="keywordtype">double</span> M[3],
<a name="l00007"></a>00007 <span class="keywordtype">double</span> n[2])
<a name="l00008"></a>00008 {
<a name="l00009"></a>00009   <span class="keywordtype">double</span> t1;
<a name="l00010"></a>00010   <span class="keywordtype">double</span> t10;
<a name="l00011"></a>00011   <span class="keywordtype">double</span> t12;
<a name="l00012"></a>00012   <span class="keywordtype">double</span> t14;
<a name="l00013"></a>00013   <span class="keywordtype">double</span> t16;
<a name="l00014"></a>00014   <span class="keywordtype">double</span> t18;
<a name="l00015"></a>00015   <span class="keywordtype">double</span> t19;
<a name="l00016"></a>00016   <span class="keywordtype">double</span> t2;
<a name="l00017"></a>00017   <span class="keywordtype">double</span> t25;
<a name="l00018"></a>00018   <span class="keywordtype">double</span> t26;
<a name="l00019"></a>00019   <span class="keywordtype">double</span> t3;
<a name="l00020"></a>00020   <span class="keywordtype">double</span> t32;
<a name="l00021"></a>00021   <span class="keywordtype">double</span> t33;
<a name="l00022"></a>00022   <span class="keywordtype">double</span> t35;
<a name="l00023"></a>00023   <span class="keywordtype">double</span> t36;
<a name="l00024"></a>00024   <span class="keywordtype">double</span> t4;
<a name="l00025"></a>00025   <span class="keywordtype">double</span> t42;
<a name="l00026"></a>00026   <span class="keywordtype">double</span> t46;
<a name="l00027"></a>00027   <span class="keywordtype">double</span> t5;
<a name="l00028"></a>00028   <span class="keywordtype">double</span> t51;
<a name="l00029"></a>00029   <span class="keywordtype">double</span> t52;
<a name="l00030"></a>00030   <span class="keywordtype">double</span> t57;
<a name="l00031"></a>00031   <span class="keywordtype">double</span> t58;
<a name="l00032"></a>00032   <span class="keywordtype">double</span> t6;
<a name="l00033"></a>00033   <span class="keywordtype">double</span> t69;
<a name="l00034"></a>00034   <span class="keywordtype">double</span> t7;
<a name="l00035"></a>00035   <span class="keywordtype">double</span> t77;
<a name="l00036"></a>00036   <span class="keywordtype">double</span> t80;
<a name="l00037"></a>00037   <span class="keywordtype">double</span> t9;
<a name="l00038"></a>00038   {
<a name="l00039"></a>00039     t1 = a[0];
<a name="l00040"></a>00040     t2 = v[0];
<a name="l00041"></a>00041     t3 = t2*t2;
<a name="l00042"></a>00042     t4 = v[1];
<a name="l00043"></a>00043     t5 = t4*t4;
<a name="l00044"></a>00044     t6 = v[2];
<a name="l00045"></a>00045     t7 = t6*t6;
<a name="l00046"></a>00046     t9 = sqrt(1.0-t3-t5-t7);
<a name="l00047"></a>00047     t10 = qr0[1];
<a name="l00048"></a>00048     t12 = qr0[0];
<a name="l00049"></a>00049     t14 = qr0[3];
<a name="l00050"></a>00050     t16 = qr0[2];
<a name="l00051"></a>00051     t18 = t9*t10+t12*t2+t4*t14-t6*t16;
<a name="l00052"></a>00052     t19 = M[0];
<a name="l00053"></a>00053     t25 = t9*t16+t12*t4+t6*t10-t2*t14;
<a name="l00054"></a>00054     t26 = M[1];
<a name="l00055"></a>00055     t32 = t9*t14+t12*t6+t2*t16-t4*t10;
<a name="l00056"></a>00056     t33 = M[2];
<a name="l00057"></a>00057     t35 = -t18*t19-t25*t26-t32*t33;
<a name="l00058"></a>00058     t36 = -t18;
<a name="l00059"></a>00059     t42 = t9*t12-t2*t10-t4*t16-t6*t14;
<a name="l00060"></a>00060     t46 = t42*t19+t25*t33-t32*t26;
<a name="l00061"></a>00061     t51 = t42*t26+t32*t19-t18*t33;
<a name="l00062"></a>00062     t52 = -t32;
<a name="l00063"></a>00063     t57 = t42*t33+t18*t26-t25*t19;
<a name="l00064"></a>00064     t58 = -t25;
<a name="l00065"></a>00065     t69 = t35*t58+t42*t51+t57*t36-t46*t52+t[1];
<a name="l00066"></a>00066     t77 = t35*t52+t42*t57+t46*t58-t51*t36+t[2];
<a name="l00067"></a>00067     t80 = 1/t77;
<a name="l00068"></a>00068     n[0] = (t1*(t35*t36+t42*t46+t51*t52-t57*t58+t[0])+a[4]*t69+a[1]*t77)*t80;
<a name="l00069"></a>00069     n[1] = (t1*a[3]*t69+a[2]*t77)*t80;
<a name="l00070"></a>00070     <span class="keywordflow">return</span>;
<a name="l00071"></a>00071   }
<a name="l00072"></a>00072 }
<a name="l00073"></a>00073 
<a name="l00074"></a>00074 <span class="keywordtype">void</span> calcImgProjFullR(<span class="keywordtype">double</span> a[5],<span class="keywordtype">double</span> qr0[4],<span class="keywordtype">double</span> t[3],<span class="keywordtype">double</span> M[3],
<a name="l00075"></a>00075 <span class="keywordtype">double</span> n[2])
<a name="l00076"></a>00076 {
<a name="l00077"></a>00077   <span class="keywordtype">double</span> t1;
<a name="l00078"></a>00078   <span class="keywordtype">double</span> t11;
<a name="l00079"></a>00079   <span class="keywordtype">double</span> t13;
<a name="l00080"></a>00080   <span class="keywordtype">double</span> t17;
<a name="l00081"></a>00081   <span class="keywordtype">double</span> t2;
<a name="l00082"></a>00082   <span class="keywordtype">double</span> t22;
<a name="l00083"></a>00083   <span class="keywordtype">double</span> t27;
<a name="l00084"></a>00084   <span class="keywordtype">double</span> t3;
<a name="l00085"></a>00085   <span class="keywordtype">double</span> t38;
<a name="l00086"></a>00086   <span class="keywordtype">double</span> t46;
<a name="l00087"></a>00087   <span class="keywordtype">double</span> t49;
<a name="l00088"></a>00088   <span class="keywordtype">double</span> t5;
<a name="l00089"></a>00089   <span class="keywordtype">double</span> t6;
<a name="l00090"></a>00090   <span class="keywordtype">double</span> t8;
<a name="l00091"></a>00091   <span class="keywordtype">double</span> t9;
<a name="l00092"></a>00092   {
<a name="l00093"></a>00093     t1 = a[0];
<a name="l00094"></a>00094     t2 = qr0[1];
<a name="l00095"></a>00095     t3 = M[0];
<a name="l00096"></a>00096     t5 = qr0[2];
<a name="l00097"></a>00097     t6 = M[1];
<a name="l00098"></a>00098     t8 = qr0[3];
<a name="l00099"></a>00099     t9 = M[2];
<a name="l00100"></a>00100     t11 = -t3*t2-t5*t6-t8*t9;
<a name="l00101"></a>00101     t13 = qr0[0];
<a name="l00102"></a>00102     t17 = t13*t3+t5*t9-t8*t6;
<a name="l00103"></a>00103     t22 = t6*t13+t8*t3-t9*t2;
<a name="l00104"></a>00104     t27 = t13*t9+t6*t2-t5*t3;
<a name="l00105"></a>00105     t38 = -t5*t11+t13*t22-t27*t2+t8*t17+t[1];
<a name="l00106"></a>00106     t46 = -t11*t8+t13*t27-t5*t17+t2*t22+t[2];
<a name="l00107"></a>00107     t49 = 1/t46;
<a name="l00108"></a>00108     n[0] = (t1*(-t2*t11+t13*t17-t22*t8+t5*t27+t[0])+a[4]*t38+a[1]*t46)*t49;
<a name="l00109"></a>00109     n[1] = (t1*a[3]*t38+a[2]*t46)*t49;
<a name="l00110"></a>00110     <span class="keywordflow">return</span>;
<a name="l00111"></a>00111   }
<a name="l00112"></a>00112 }
<a name="l00113"></a>00113 
<a name="l00114"></a>00114 <span class="preprocessor">#include &lt;math.h&gt;</span>
<a name="l00115"></a>00115 <span class="keywordtype">void</span> calcImgProjJacKRTS(<span class="keywordtype">double</span> a[5],<span class="keywordtype">double</span> qr0[4],<span class="keywordtype">double</span> v[3],<span class="keywordtype">double</span> t[3],
<a name="l00116"></a>00116 <span class="keywordtype">double</span> M[3],<span class="keywordtype">double</span> jacmKRT[2][11],<span class="keywordtype">double</span> jacmS[2][3])
<a name="l00117"></a>00117 {
<a name="l00118"></a>00118   <span class="keywordtype">double</span> t1;
<a name="l00119"></a>00119   <span class="keywordtype">double</span> t102;
<a name="l00120"></a>00120   <span class="keywordtype">double</span> t107;
<a name="l00121"></a>00121   <span class="keywordtype">double</span> t109;
<a name="l00122"></a>00122   <span class="keywordtype">double</span> t11;
<a name="l00123"></a>00123   <span class="keywordtype">double</span> t114;
<a name="l00124"></a>00124   <span class="keywordtype">double</span> t116;
<a name="l00125"></a>00125   <span class="keywordtype">double</span> t120;
<a name="l00126"></a>00126   <span class="keywordtype">double</span> t129;
<a name="l00127"></a>00127   <span class="keywordtype">double</span> t13;
<a name="l00128"></a>00128   <span class="keywordtype">double</span> t131;
<a name="l00129"></a>00129   <span class="keywordtype">double</span> t140;
<a name="l00130"></a>00130   <span class="keywordtype">double</span> t148;
<a name="l00131"></a>00131   <span class="keywordtype">double</span> t149;
<a name="l00132"></a>00132   <span class="keywordtype">double</span> t15;
<a name="l00133"></a>00133   <span class="keywordtype">double</span> t150;
<a name="l00134"></a>00134   <span class="keywordtype">double</span> t152;
<a name="l00135"></a>00135   <span class="keywordtype">double</span> t154;
<a name="l00136"></a>00136   <span class="keywordtype">double</span> t161;
<a name="l00137"></a>00137   <span class="keywordtype">double</span> t164;
<a name="l00138"></a>00138   <span class="keywordtype">double</span> t167;
<a name="l00139"></a>00139   <span class="keywordtype">double</span> t17;
<a name="l00140"></a>00140   <span class="keywordtype">double</span> t170;
<a name="l00141"></a>00141   <span class="keywordtype">double</span> t172;
<a name="l00142"></a>00142   <span class="keywordtype">double</span> t174;
<a name="l00143"></a>00143   <span class="keywordtype">double</span> t177;
<a name="l00144"></a>00144   <span class="keywordtype">double</span> t18;
<a name="l00145"></a>00145   <span class="keywordtype">double</span> t182;
<a name="l00146"></a>00146   <span class="keywordtype">double</span> t187;
<a name="l00147"></a>00147   <span class="keywordtype">double</span> t189;
<a name="l00148"></a>00148   <span class="keywordtype">double</span> t194;
<a name="l00149"></a>00149   <span class="keywordtype">double</span> t196;
<a name="l00150"></a>00150   <span class="keywordtype">double</span> t2;
<a name="l00151"></a>00151   <span class="keywordtype">double</span> t208;
<a name="l00152"></a>00152   <span class="keywordtype">double</span> t218;
<a name="l00153"></a>00153   <span class="keywordtype">double</span> t229;
<a name="l00154"></a>00154   <span class="keywordtype">double</span> t232;
<a name="l00155"></a>00155   <span class="keywordtype">double</span> t235;
<a name="l00156"></a>00156   <span class="keywordtype">double</span> t237;
<a name="l00157"></a>00157   <span class="keywordtype">double</span> t239;
<a name="l00158"></a>00158   <span class="keywordtype">double</span> t24;
<a name="l00159"></a>00159   <span class="keywordtype">double</span> t242;
<a name="l00160"></a>00160   <span class="keywordtype">double</span> t247;
<a name="l00161"></a>00161   <span class="keywordtype">double</span> t25;
<a name="l00162"></a>00162   <span class="keywordtype">double</span> t252;
<a name="l00163"></a>00163   <span class="keywordtype">double</span> t254;
<a name="l00164"></a>00164   <span class="keywordtype">double</span> t259;
<a name="l00165"></a>00165   <span class="keywordtype">double</span> t261;
<a name="l00166"></a>00166   <span class="keywordtype">double</span> t273;
<a name="l00167"></a>00167   <span class="keywordtype">double</span> t283;
<a name="l00168"></a>00168   <span class="keywordtype">double</span> t295;
<a name="l00169"></a>00169   <span class="keywordtype">double</span> t296;
<a name="l00170"></a>00170   <span class="keywordtype">double</span> t298;
<a name="l00171"></a>00171   <span class="keywordtype">double</span> t3;
<a name="l00172"></a>00172   <span class="keywordtype">double</span> t301;
<a name="l00173"></a>00173   <span class="keywordtype">double</span> t304;
<a name="l00174"></a>00174   <span class="keywordtype">double</span> t305;
<a name="l00175"></a>00175   <span class="keywordtype">double</span> t307;
<a name="l00176"></a>00176   <span class="keywordtype">double</span> t308;
<a name="l00177"></a>00177   <span class="keywordtype">double</span> t31;
<a name="l00178"></a>00178   <span class="keywordtype">double</span> t311;
<a name="l00179"></a>00179   <span class="keywordtype">double</span> t32;
<a name="l00180"></a>00180   <span class="keywordtype">double</span> t326;
<a name="l00181"></a>00181   <span class="keywordtype">double</span> t327;
<a name="l00182"></a>00182   <span class="keywordtype">double</span> t329;
<a name="l00183"></a>00183   <span class="keywordtype">double</span> t332;
<a name="l00184"></a>00184   <span class="keywordtype">double</span> t333;
<a name="l00185"></a>00185   <span class="keywordtype">double</span> t34;
<a name="l00186"></a>00186   <span class="keywordtype">double</span> t349;
<a name="l00187"></a>00187   <span class="keywordtype">double</span> t35;
<a name="l00188"></a>00188   <span class="keywordtype">double</span> t352;
<a name="l00189"></a>00189   <span class="keywordtype">double</span> t4;
<a name="l00190"></a>00190   <span class="keywordtype">double</span> t41;
<a name="l00191"></a>00191   <span class="keywordtype">double</span> t45;
<a name="l00192"></a>00192   <span class="keywordtype">double</span> t5;
<a name="l00193"></a>00193   <span class="keywordtype">double</span> t50;
<a name="l00194"></a>00194   <span class="keywordtype">double</span> t51;
<a name="l00195"></a>00195   <span class="keywordtype">double</span> t56;
<a name="l00196"></a>00196   <span class="keywordtype">double</span> t57;
<a name="l00197"></a>00197   <span class="keywordtype">double</span> t6;
<a name="l00198"></a>00198   <span class="keywordtype">double</span> t60;
<a name="l00199"></a>00199   <span class="keywordtype">double</span> t66;
<a name="l00200"></a>00200   <span class="keywordtype">double</span> t67;
<a name="l00201"></a>00201   <span class="keywordtype">double</span> t68;
<a name="l00202"></a>00202   <span class="keywordtype">double</span> t74;
<a name="l00203"></a>00203   <span class="keywordtype">double</span> t76;
<a name="l00204"></a>00204   <span class="keywordtype">double</span> t78;
<a name="l00205"></a>00205   <span class="keywordtype">double</span> t79;
<a name="l00206"></a>00206   <span class="keywordtype">double</span> t8;
<a name="l00207"></a>00207   <span class="keywordtype">double</span> t81;
<a name="l00208"></a>00208   <span class="keywordtype">double</span> t83;
<a name="l00209"></a>00209   <span class="keywordtype">double</span> t85;
<a name="l00210"></a>00210   <span class="keywordtype">double</span> t87;
<a name="l00211"></a>00211   <span class="keywordtype">double</span> t89;
<a name="l00212"></a>00212   <span class="keywordtype">double</span> t9;
<a name="l00213"></a>00213   <span class="keywordtype">double</span> t91;
<a name="l00214"></a>00214   <span class="keywordtype">double</span> t93;
<a name="l00215"></a>00215   <span class="keywordtype">double</span> t95;
<a name="l00216"></a>00216   <span class="keywordtype">double</span> t97;
<a name="l00217"></a>00217   {
<a name="l00218"></a>00218     t1 = v[0];
<a name="l00219"></a>00219     t2 = t1*t1;
<a name="l00220"></a>00220     t3 = v[1];
<a name="l00221"></a>00221     t4 = t3*t3;
<a name="l00222"></a>00222     t5 = v[2];
<a name="l00223"></a>00223     t6 = t5*t5;
<a name="l00224"></a>00224     t8 = sqrt(1.0-t2-t4-t6);
<a name="l00225"></a>00225     t9 = qr0[1];
<a name="l00226"></a>00226     t11 = qr0[0];
<a name="l00227"></a>00227     t13 = qr0[3];
<a name="l00228"></a>00228     t15 = qr0[2];
<a name="l00229"></a>00229     t17 = t8*t9+t11*t1+t13*t3-t5*t15;
<a name="l00230"></a>00230     t18 = M[0];
<a name="l00231"></a>00231     t24 = t8*t15+t3*t11+t5*t9-t13*t1;
<a name="l00232"></a>00232     t25 = M[1];
<a name="l00233"></a>00233     t31 = t8*t13+t5*t11+t1*t15-t3*t9;
<a name="l00234"></a>00234     t32 = M[2];
<a name="l00235"></a>00235     t34 = -t17*t18-t24*t25-t31*t32;
<a name="l00236"></a>00236     t35 = -t17;
<a name="l00237"></a>00237     t41 = t11*t8-t1*t9-t3*t15-t5*t13;
<a name="l00238"></a>00238     t45 = t41*t18+t24*t32-t31*t25;
<a name="l00239"></a>00239     t50 = t41*t25+t31*t18-t17*t32;
<a name="l00240"></a>00240     t51 = -t31;
<a name="l00241"></a>00241     t56 = t41*t32+t17*t25-t24*t18;
<a name="l00242"></a>00242     t57 = -t24;
<a name="l00243"></a>00243     t60 = t34*t35+t41*t45+t50*t51-t56*t57+t[0];
<a name="l00244"></a>00244     t66 = t34*t51+t41*t56+t45*t57-t50*t35+t[2];
<a name="l00245"></a>00245     t67 = 1/t66;
<a name="l00246"></a>00246     jacmKRT[0][0] = t60*t67;
<a name="l00247"></a>00247     t68 = a[3];
<a name="l00248"></a>00248     t74 = t34*t57+t41*t50+t56*t35-t45*t51+t[1];
<a name="l00249"></a>00249     jacmKRT[1][0] = t68*t74*t67;
<a name="l00250"></a>00250     jacmKRT[0][1] = 1.0;
<a name="l00251"></a>00251     jacmKRT[1][1] = 0.0;
<a name="l00252"></a>00252     jacmKRT[0][2] = 0.0;
<a name="l00253"></a>00253     jacmKRT[1][2] = 1.0;
<a name="l00254"></a>00254     jacmKRT[0][3] = 0.0;
<a name="l00255"></a>00255     t76 = a[0];
<a name="l00256"></a>00256     jacmKRT[1][3] = t76*t74*t67;
<a name="l00257"></a>00257     jacmKRT[0][4] = t74*t67;
<a name="l00258"></a>00258     jacmKRT[1][4] = 0.0;
<a name="l00259"></a>00259     t78 = 1/t8;
<a name="l00260"></a>00260     t79 = t78*t9;
<a name="l00261"></a>00261     t81 = -t79*t1+t11;
<a name="l00262"></a>00262     t83 = t78*t15;
<a name="l00263"></a>00263     t85 = -t83*t1-t13;
<a name="l00264"></a>00264     t87 = t78*t13;
<a name="l00265"></a>00265     t89 = -t87*t1+t15;
<a name="l00266"></a>00266     t91 = -t81*t18-t85*t25-t89*t32;
<a name="l00267"></a>00267     t93 = -t81;
<a name="l00268"></a>00268     t95 = t78*t11;
<a name="l00269"></a>00269     t97 = -t95*t1-t9;
<a name="l00270"></a>00270     t102 = t97*t18+t85*t32-t89*t25;
<a name="l00271"></a>00271     t107 = t97*t25+t89*t18-t81*t32;
<a name="l00272"></a>00272     t109 = -t89;
<a name="l00273"></a>00273     t114 = t97*t32+t81*t25-t85*t18;
<a name="l00274"></a>00274     t116 = -t85;
<a name="l00275"></a>00275     t120 = a[4];
<a name="l00276"></a>00276     t129 = t91*t57+t34*t116+t97*t50+t41*t107+t114*t35+t56*t93-t102*t51-t45*t109
<a name="l00277"></a>00277 ;
<a name="l00278"></a>00278     t131 = a[1];
<a name="l00279"></a>00279     t140 = t91*t51+t34*t109+t97*t56+t41*t114+t102*t57+t45*t116-t107*t35-t50*t93
<a name="l00280"></a>00280 ;
<a name="l00281"></a>00281     t148 = t66*t66;
<a name="l00282"></a>00282     t149 = 1/t148;
<a name="l00283"></a>00283     t150 = (t76*t60+t120*t74+t131*t66)*t149;
<a name="l00284"></a>00284     jacmKRT[0][5] = (t76*(t91*t35+t34*t93+t97*t45+t41*t102+t107*t51+t50*t109-
<a name="l00285"></a>00285 t114*t57-t56*t116)+t129*t120+t131*t140)*t67-t150*t140;
<a name="l00286"></a>00286     t152 = t76*t68;
<a name="l00287"></a>00287     t154 = a[2];
<a name="l00288"></a>00288     t161 = (t152*t74+t154*t66)*t149;
<a name="l00289"></a>00289     jacmKRT[1][5] = (t152*t129+t154*t140)*t67-t161*t140;
<a name="l00290"></a>00290     t164 = -t79*t3+t13;
<a name="l00291"></a>00291     t167 = -t83*t3+t11;
<a name="l00292"></a>00292     t170 = -t87*t3-t9;
<a name="l00293"></a>00293     t172 = -t164*t18-t167*t25-t170*t32;
<a name="l00294"></a>00294     t174 = -t164;
<a name="l00295"></a>00295     t177 = -t95*t3-t15;
<a name="l00296"></a>00296     t182 = t177*t18+t167*t32-t170*t25;
<a name="l00297"></a>00297     t187 = t177*t25+t170*t18-t164*t32;
<a name="l00298"></a>00298     t189 = -t170;
<a name="l00299"></a>00299     t194 = t177*t32+t164*t25-t167*t18;
<a name="l00300"></a>00300     t196 = -t167;
<a name="l00301"></a>00301     t208 = t172*t57+t34*t196+t177*t50+t41*t187+t194*t35+t56*t174-t182*t51-t45*
<a name="l00302"></a>00302 t189;
<a name="l00303"></a>00303     t218 = t172*t51+t34*t189+t177*t56+t41*t194+t182*t57+t45*t196-t187*t35-t50*
<a name="l00304"></a>00304 t174;
<a name="l00305"></a>00305     jacmKRT[0][6] = (t76*(t172*t35+t34*t174+t177*t45+t41*t182+t187*t51+t50*t189
<a name="l00306"></a>00306 -t194*t57-t56*t196)+t120*t208+t131*t218)*t67-t150*t218;
<a name="l00307"></a>00307     jacmKRT[1][6] = (t152*t208+t154*t218)*t67-t161*t218;
<a name="l00308"></a>00308     t229 = -t79*t5-t15;
<a name="l00309"></a>00309     t232 = -t83*t5+t9;
<a name="l00310"></a>00310     t235 = -t87*t5+t11;
<a name="l00311"></a>00311     t237 = -t229*t18-t232*t25-t235*t32;
<a name="l00312"></a>00312     t239 = -t229;
<a name="l00313"></a>00313     t242 = -t95*t5-t13;
<a name="l00314"></a>00314     t247 = t242*t18+t232*t32-t235*t25;
<a name="l00315"></a>00315     t252 = t242*t25+t235*t18-t229*t32;
<a name="l00316"></a>00316     t254 = -t235;
<a name="l00317"></a>00317     t259 = t242*t32+t229*t25-t232*t18;
<a name="l00318"></a>00318     t261 = -t232;
<a name="l00319"></a>00319     t273 = t237*t57+t261*t34+t242*t50+t41*t252+t259*t35+t56*t239-t247*t51-t45*
<a name="l00320"></a>00320 t254;
<a name="l00321"></a>00321     t283 = t237*t51+t34*t254+t242*t56+t41*t259+t247*t57+t45*t261-t252*t35-t50*
<a name="l00322"></a>00322 t239;
<a name="l00323"></a>00323     jacmKRT[0][7] = (t76*(t237*t35+t34*t239+t242*t45+t41*t247+t252*t51+t50*t254
<a name="l00324"></a>00324 -t259*t57-t56*t261)+t120*t273+t131*t283)*t67-t150*t283;
<a name="l00325"></a>00325     jacmKRT[1][7] = (t152*t273+t154*t283)*t67-t161*t283;
<a name="l00326"></a>00326     jacmKRT[0][8] = t76*t67;
<a name="l00327"></a>00327     jacmKRT[1][8] = 0.0;
<a name="l00328"></a>00328     jacmKRT[0][9] = t120*t67;
<a name="l00329"></a>00329     jacmKRT[1][9] = t152*t67;
<a name="l00330"></a>00330     jacmKRT[0][10] = t131*t67-t150;
<a name="l00331"></a>00331     jacmKRT[1][10] = t154*t67-t161;
<a name="l00332"></a>00332     t295 = t35*t35;
<a name="l00333"></a>00333     t296 = t41*t41;
<a name="l00334"></a>00334     t298 = t57*t57;
<a name="l00335"></a>00335     t301 = t35*t57;
<a name="l00336"></a>00336     t304 = t41*t51;
<a name="l00337"></a>00337     t305 = 2.0*t301+t41*t31-t304;
<a name="l00338"></a>00338     t307 = t35*t51;
<a name="l00339"></a>00339     t308 = t41*t57;
<a name="l00340"></a>00340     t311 = t307+2.0*t308-t31*t35;
<a name="l00341"></a>00341     jacmS[0][0] = (t76*(t295+t296+t31*t51-t298)+t120*t305+t131*t311)*t67-t150*
<a name="l00342"></a>00342 t311;
<a name="l00343"></a>00343     jacmS[1][0] = (t152*t305+t154*t311)*t67-t161*t311;
<a name="l00344"></a>00344     t326 = t51*t51;
<a name="l00345"></a>00345     t327 = t298+t296+t17*t35-t326;
<a name="l00346"></a>00346     t329 = t57*t51;
<a name="l00347"></a>00347     t332 = t41*t35;
<a name="l00348"></a>00348     t333 = 2.0*t329+t41*t17-t332;
<a name="l00349"></a>00349     jacmS[0][1] = (t76*(t301+2.0*t304-t17*t57)+t120*t327+t131*t333)*t67-t150*
<a name="l00350"></a>00350 t333;
<a name="l00351"></a>00351     jacmS[1][1] = (t152*t327+t154*t333)*t67-t161*t333;
<a name="l00352"></a>00352     t349 = t329+2.0*t332-t24*t51;
<a name="l00353"></a>00353     t352 = t326+t296+t24*t57-t295;
<a name="l00354"></a>00354     jacmS[0][2] = (t76*(2.0*t307+t41*t24-t308)+t120*t349+t131*t352)*t67-t150*
<a name="l00355"></a>00355 t352;
<a name="l00356"></a>00356     jacmS[1][2] = (t152*t349+t154*t352)*t67-t161*t352;
<a name="l00357"></a>00357     <span class="keywordflow">return</span>;
<a name="l00358"></a>00358   }
<a name="l00359"></a>00359 }
<a name="l00360"></a>00360 
<a name="l00361"></a>00361 <span class="preprocessor">#include &lt;math.h&gt;</span>
<a name="l00362"></a>00362 <span class="keywordtype">void</span> calcImgProjJacKRT(<span class="keywordtype">double</span> a[5],<span class="keywordtype">double</span> qr0[4],<span class="keywordtype">double</span> v[3],<span class="keywordtype">double</span> t[3],
<a name="l00363"></a>00363 <span class="keywordtype">double</span> M[3],<span class="keywordtype">double</span> jacmKRT[2][11])
<a name="l00364"></a>00364 {
<a name="l00365"></a>00365   <span class="keywordtype">double</span> t1;
<a name="l00366"></a>00366   <span class="keywordtype">double</span> t102;
<a name="l00367"></a>00367   <span class="keywordtype">double</span> t107;
<a name="l00368"></a>00368   <span class="keywordtype">double</span> t109;
<a name="l00369"></a>00369   <span class="keywordtype">double</span> t11;
<a name="l00370"></a>00370   <span class="keywordtype">double</span> t114;
<a name="l00371"></a>00371   <span class="keywordtype">double</span> t116;
<a name="l00372"></a>00372   <span class="keywordtype">double</span> t120;
<a name="l00373"></a>00373   <span class="keywordtype">double</span> t129;
<a name="l00374"></a>00374   <span class="keywordtype">double</span> t13;
<a name="l00375"></a>00375   <span class="keywordtype">double</span> t131;
<a name="l00376"></a>00376   <span class="keywordtype">double</span> t140;
<a name="l00377"></a>00377   <span class="keywordtype">double</span> t148;
<a name="l00378"></a>00378   <span class="keywordtype">double</span> t149;
<a name="l00379"></a>00379   <span class="keywordtype">double</span> t15;
<a name="l00380"></a>00380   <span class="keywordtype">double</span> t150;
<a name="l00381"></a>00381   <span class="keywordtype">double</span> t152;
<a name="l00382"></a>00382   <span class="keywordtype">double</span> t154;
<a name="l00383"></a>00383   <span class="keywordtype">double</span> t161;
<a name="l00384"></a>00384   <span class="keywordtype">double</span> t164;
<a name="l00385"></a>00385   <span class="keywordtype">double</span> t167;
<a name="l00386"></a>00386   <span class="keywordtype">double</span> t17;
<a name="l00387"></a>00387   <span class="keywordtype">double</span> t170;
<a name="l00388"></a>00388   <span class="keywordtype">double</span> t172;
<a name="l00389"></a>00389   <span class="keywordtype">double</span> t174;
<a name="l00390"></a>00390   <span class="keywordtype">double</span> t177;
<a name="l00391"></a>00391   <span class="keywordtype">double</span> t18;
<a name="l00392"></a>00392   <span class="keywordtype">double</span> t182;
<a name="l00393"></a>00393   <span class="keywordtype">double</span> t187;
<a name="l00394"></a>00394   <span class="keywordtype">double</span> t189;
<a name="l00395"></a>00395   <span class="keywordtype">double</span> t194;
<a name="l00396"></a>00396   <span class="keywordtype">double</span> t196;
<a name="l00397"></a>00397   <span class="keywordtype">double</span> t2;
<a name="l00398"></a>00398   <span class="keywordtype">double</span> t208;
<a name="l00399"></a>00399   <span class="keywordtype">double</span> t218;
<a name="l00400"></a>00400   <span class="keywordtype">double</span> t229;
<a name="l00401"></a>00401   <span class="keywordtype">double</span> t232;
<a name="l00402"></a>00402   <span class="keywordtype">double</span> t235;
<a name="l00403"></a>00403   <span class="keywordtype">double</span> t237;
<a name="l00404"></a>00404   <span class="keywordtype">double</span> t239;
<a name="l00405"></a>00405   <span class="keywordtype">double</span> t24;
<a name="l00406"></a>00406   <span class="keywordtype">double</span> t242;
<a name="l00407"></a>00407   <span class="keywordtype">double</span> t247;
<a name="l00408"></a>00408   <span class="keywordtype">double</span> t25;
<a name="l00409"></a>00409   <span class="keywordtype">double</span> t252;
<a name="l00410"></a>00410   <span class="keywordtype">double</span> t254;
<a name="l00411"></a>00411   <span class="keywordtype">double</span> t259;
<a name="l00412"></a>00412   <span class="keywordtype">double</span> t261;
<a name="l00413"></a>00413   <span class="keywordtype">double</span> t273;
<a name="l00414"></a>00414   <span class="keywordtype">double</span> t283;
<a name="l00415"></a>00415   <span class="keywordtype">double</span> t3;
<a name="l00416"></a>00416   <span class="keywordtype">double</span> t31;
<a name="l00417"></a>00417   <span class="keywordtype">double</span> t32;
<a name="l00418"></a>00418   <span class="keywordtype">double</span> t34;
<a name="l00419"></a>00419   <span class="keywordtype">double</span> t35;
<a name="l00420"></a>00420   <span class="keywordtype">double</span> t4;
<a name="l00421"></a>00421   <span class="keywordtype">double</span> t41;
<a name="l00422"></a>00422   <span class="keywordtype">double</span> t45;
<a name="l00423"></a>00423   <span class="keywordtype">double</span> t5;
<a name="l00424"></a>00424   <span class="keywordtype">double</span> t50;
<a name="l00425"></a>00425   <span class="keywordtype">double</span> t51;
<a name="l00426"></a>00426   <span class="keywordtype">double</span> t56;
<a name="l00427"></a>00427   <span class="keywordtype">double</span> t57;
<a name="l00428"></a>00428   <span class="keywordtype">double</span> t6;
<a name="l00429"></a>00429   <span class="keywordtype">double</span> t60;
<a name="l00430"></a>00430   <span class="keywordtype">double</span> t66;
<a name="l00431"></a>00431   <span class="keywordtype">double</span> t67;
<a name="l00432"></a>00432   <span class="keywordtype">double</span> t68;
<a name="l00433"></a>00433   <span class="keywordtype">double</span> t74;
<a name="l00434"></a>00434   <span class="keywordtype">double</span> t76;
<a name="l00435"></a>00435   <span class="keywordtype">double</span> t78;
<a name="l00436"></a>00436   <span class="keywordtype">double</span> t79;
<a name="l00437"></a>00437   <span class="keywordtype">double</span> t8;
<a name="l00438"></a>00438   <span class="keywordtype">double</span> t81;
<a name="l00439"></a>00439   <span class="keywordtype">double</span> t83;
<a name="l00440"></a>00440   <span class="keywordtype">double</span> t85;
<a name="l00441"></a>00441   <span class="keywordtype">double</span> t87;
<a name="l00442"></a>00442   <span class="keywordtype">double</span> t89;
<a name="l00443"></a>00443   <span class="keywordtype">double</span> t9;
<a name="l00444"></a>00444   <span class="keywordtype">double</span> t91;
<a name="l00445"></a>00445   <span class="keywordtype">double</span> t93;
<a name="l00446"></a>00446   <span class="keywordtype">double</span> t95;
<a name="l00447"></a>00447   <span class="keywordtype">double</span> t97;
<a name="l00448"></a>00448   {
<a name="l00449"></a>00449     t1 = v[0];
<a name="l00450"></a>00450     t2 = t1*t1;
<a name="l00451"></a>00451     t3 = v[1];
<a name="l00452"></a>00452     t4 = t3*t3;
<a name="l00453"></a>00453     t5 = v[2];
<a name="l00454"></a>00454     t6 = t5*t5;
<a name="l00455"></a>00455     t8 = sqrt(1.0-t2-t4-t6);
<a name="l00456"></a>00456     t9 = qr0[1];
<a name="l00457"></a>00457     t11 = qr0[0];
<a name="l00458"></a>00458     t13 = qr0[3];
<a name="l00459"></a>00459     t15 = qr0[2];
<a name="l00460"></a>00460     t17 = t8*t9+t11*t1+t13*t3-t5*t15;
<a name="l00461"></a>00461     t18 = M[0];
<a name="l00462"></a>00462     t24 = t8*t15+t3*t11+t5*t9-t13*t1;
<a name="l00463"></a>00463     t25 = M[1];
<a name="l00464"></a>00464     t31 = t8*t13+t5*t11+t1*t15-t3*t9;
<a name="l00465"></a>00465     t32 = M[2];
<a name="l00466"></a>00466     t34 = -t17*t18-t24*t25-t31*t32;
<a name="l00467"></a>00467     t35 = -t17;
<a name="l00468"></a>00468     t41 = t11*t8-t1*t9-t3*t15-t5*t13;
<a name="l00469"></a>00469     t45 = t41*t18+t24*t32-t31*t25;
<a name="l00470"></a>00470     t50 = t41*t25+t31*t18-t17*t32;
<a name="l00471"></a>00471     t51 = -t31;
<a name="l00472"></a>00472     t56 = t41*t32+t17*t25-t24*t18;
<a name="l00473"></a>00473     t57 = -t24;
<a name="l00474"></a>00474     t60 = t34*t35+t41*t45+t50*t51-t56*t57+t[0];
<a name="l00475"></a>00475     t66 = t34*t51+t41*t56+t45*t57-t50*t35+t[2];
<a name="l00476"></a>00476     t67 = 1/t66;
<a name="l00477"></a>00477     jacmKRT[0][0] = t60*t67;
<a name="l00478"></a>00478     t68 = a[3];
<a name="l00479"></a>00479     t74 = t34*t57+t41*t50+t56*t35-t45*t51+t[1];
<a name="l00480"></a>00480     jacmKRT[1][0] = t68*t74*t67;
<a name="l00481"></a>00481     jacmKRT[0][1] = 1.0;
<a name="l00482"></a>00482     jacmKRT[1][1] = 0.0;
<a name="l00483"></a>00483     jacmKRT[0][2] = 0.0;
<a name="l00484"></a>00484     jacmKRT[1][2] = 1.0;
<a name="l00485"></a>00485     jacmKRT[0][3] = 0.0;
<a name="l00486"></a>00486     t76 = a[0];
<a name="l00487"></a>00487     jacmKRT[1][3] = t76*t74*t67;
<a name="l00488"></a>00488     jacmKRT[0][4] = t74*t67;
<a name="l00489"></a>00489     jacmKRT[1][4] = 0.0;
<a name="l00490"></a>00490     t78 = 1/t8;
<a name="l00491"></a>00491     t79 = t78*t9;
<a name="l00492"></a>00492     t81 = -t79*t1+t11;
<a name="l00493"></a>00493     t83 = t78*t15;
<a name="l00494"></a>00494     t85 = -t83*t1-t13;
<a name="l00495"></a>00495     t87 = t78*t13;
<a name="l00496"></a>00496     t89 = -t87*t1+t15;
<a name="l00497"></a>00497     t91 = -t81*t18-t85*t25-t89*t32;
<a name="l00498"></a>00498     t93 = -t81;
<a name="l00499"></a>00499     t95 = t78*t11;
<a name="l00500"></a>00500     t97 = -t95*t1-t9;
<a name="l00501"></a>00501     t102 = t97*t18+t85*t32-t89*t25;
<a name="l00502"></a>00502     t107 = t97*t25+t89*t18-t81*t32;
<a name="l00503"></a>00503     t109 = -t89;
<a name="l00504"></a>00504     t114 = t97*t32+t81*t25-t85*t18;
<a name="l00505"></a>00505     t116 = -t85;
<a name="l00506"></a>00506     t120 = a[4];
<a name="l00507"></a>00507     t129 = t91*t57+t34*t116+t97*t50+t41*t107+t114*t35+t56*t93-t102*t51-t45*t109
<a name="l00508"></a>00508 ;
<a name="l00509"></a>00509     t131 = a[1];
<a name="l00510"></a>00510     t140 = t91*t51+t34*t109+t97*t56+t41*t114+t102*t57+t45*t116-t107*t35-t50*t93
<a name="l00511"></a>00511 ;
<a name="l00512"></a>00512     t148 = t66*t66;
<a name="l00513"></a>00513     t149 = 1/t148;
<a name="l00514"></a>00514     t150 = (t76*t60+t120*t74+t131*t66)*t149;
<a name="l00515"></a>00515     jacmKRT[0][5] = (t76*(t91*t35+t34*t93+t97*t45+t41*t102+t107*t51+t50*t109-
<a name="l00516"></a>00516 t114*t57-t56*t116)+t129*t120+t131*t140)*t67-t150*t140;
<a name="l00517"></a>00517     t152 = t76*t68;
<a name="l00518"></a>00518     t154 = a[2];
<a name="l00519"></a>00519     t161 = (t152*t74+t154*t66)*t149;
<a name="l00520"></a>00520     jacmKRT[1][5] = (t152*t129+t154*t140)*t67-t161*t140;
<a name="l00521"></a>00521     t164 = -t79*t3+t13;
<a name="l00522"></a>00522     t167 = -t83*t3+t11;
<a name="l00523"></a>00523     t170 = -t87*t3-t9;
<a name="l00524"></a>00524     t172 = -t164*t18-t167*t25-t170*t32;
<a name="l00525"></a>00525     t174 = -t164;
<a name="l00526"></a>00526     t177 = -t95*t3-t15;
<a name="l00527"></a>00527     t182 = t177*t18+t167*t32-t170*t25;
<a name="l00528"></a>00528     t187 = t177*t25+t170*t18-t164*t32;
<a name="l00529"></a>00529     t189 = -t170;
<a name="l00530"></a>00530     t194 = t177*t32+t164*t25-t167*t18;
<a name="l00531"></a>00531     t196 = -t167;
<a name="l00532"></a>00532     t208 = t172*t57+t34*t196+t177*t50+t41*t187+t194*t35+t56*t174-t182*t51-t45*
<a name="l00533"></a>00533 t189;
<a name="l00534"></a>00534     t218 = t172*t51+t34*t189+t177*t56+t41*t194+t182*t57+t45*t196-t187*t35-t50*
<a name="l00535"></a>00535 t174;
<a name="l00536"></a>00536     jacmKRT[0][6] = (t76*(t172*t35+t34*t174+t177*t45+t41*t182+t187*t51+t50*t189
<a name="l00537"></a>00537 -t194*t57-t56*t196)+t120*t208+t131*t218)*t67-t150*t218;
<a name="l00538"></a>00538     jacmKRT[1][6] = (t152*t208+t154*t218)*t67-t161*t218;
<a name="l00539"></a>00539     t229 = -t79*t5-t15;
<a name="l00540"></a>00540     t232 = -t83*t5+t9;
<a name="l00541"></a>00541     t235 = -t87*t5+t11;
<a name="l00542"></a>00542     t237 = -t229*t18-t232*t25-t235*t32;
<a name="l00543"></a>00543     t239 = -t229;
<a name="l00544"></a>00544     t242 = -t95*t5-t13;
<a name="l00545"></a>00545     t247 = t242*t18+t232*t32-t235*t25;
<a name="l00546"></a>00546     t252 = t242*t25+t235*t18-t229*t32;
<a name="l00547"></a>00547     t254 = -t235;
<a name="l00548"></a>00548     t259 = t242*t32+t229*t25-t232*t18;
<a name="l00549"></a>00549     t261 = -t232;
<a name="l00550"></a>00550     t273 = t237*t57+t261*t34+t242*t50+t41*t252+t259*t35+t56*t239-t247*t51-t45*
<a name="l00551"></a>00551 t254;
<a name="l00552"></a>00552     t283 = t237*t51+t34*t254+t242*t56+t41*t259+t247*t57+t45*t261-t252*t35-t50*
<a name="l00553"></a>00553 t239;
<a name="l00554"></a>00554     jacmKRT[0][7] = (t76*(t237*t35+t34*t239+t242*t45+t41*t247+t252*t51+t50*t254
<a name="l00555"></a>00555 -t259*t57-t56*t261)+t120*t273+t131*t283)*t67-t150*t283;
<a name="l00556"></a>00556     jacmKRT[1][7] = (t152*t273+t154*t283)*t67-t161*t283;
<a name="l00557"></a>00557     jacmKRT[0][8] = t76*t67;
<a name="l00558"></a>00558     jacmKRT[1][8] = 0.0;
<a name="l00559"></a>00559     jacmKRT[0][9] = t120*t67;
<a name="l00560"></a>00560     jacmKRT[1][9] = t152*t67;
<a name="l00561"></a>00561     jacmKRT[0][10] = t131*t67-t150;
<a name="l00562"></a>00562     jacmKRT[1][10] = t154*t67-t161;
<a name="l00563"></a>00563     <span class="keywordflow">return</span>;
<a name="l00564"></a>00564   }
<a name="l00565"></a>00565 }
<a name="l00566"></a>00566 
<a name="l00567"></a>00567 <span class="preprocessor">#include &lt;math.h&gt;</span>
<a name="l00568"></a>00568 <span class="keywordtype">void</span> calcImgProjJacS(<span class="keywordtype">double</span> a[5],<span class="keywordtype">double</span> qr0[4],<span class="keywordtype">double</span> v[3],<span class="keywordtype">double</span> t[3],
<a name="l00569"></a>00569 <span class="keywordtype">double</span> M[3],<span class="keywordtype">double</span> jacmS[2][3])
<a name="l00570"></a>00570 {
<a name="l00571"></a>00571   <span class="keywordtype">double</span> t1;
<a name="l00572"></a>00572   <span class="keywordtype">double</span> t10;
<a name="l00573"></a>00573   <span class="keywordtype">double</span> t101;
<a name="l00574"></a>00574   <span class="keywordtype">double</span> t102;
<a name="l00575"></a>00575   <span class="keywordtype">double</span> t103;
<a name="l00576"></a>00576   <span class="keywordtype">double</span> t106;
<a name="l00577"></a>00577   <span class="keywordtype">double</span> t108;
<a name="l00578"></a>00578   <span class="keywordtype">double</span> t115;
<a name="l00579"></a>00579   <span class="keywordtype">double</span> t12;
<a name="l00580"></a>00580   <span class="keywordtype">double</span> t122;
<a name="l00581"></a>00581   <span class="keywordtype">double</span> t123;
<a name="l00582"></a>00582   <span class="keywordtype">double</span> t125;
<a name="l00583"></a>00583   <span class="keywordtype">double</span> t128;
<a name="l00584"></a>00584   <span class="keywordtype">double</span> t129;
<a name="l00585"></a>00585   <span class="keywordtype">double</span> t14;
<a name="l00586"></a>00586   <span class="keywordtype">double</span> t145;
<a name="l00587"></a>00587   <span class="keywordtype">double</span> t148;
<a name="l00588"></a>00588   <span class="keywordtype">double</span> t16;
<a name="l00589"></a>00589   <span class="keywordtype">double</span> t18;
<a name="l00590"></a>00590   <span class="keywordtype">double</span> t19;
<a name="l00591"></a>00591   <span class="keywordtype">double</span> t2;
<a name="l00592"></a>00592   <span class="keywordtype">double</span> t24;
<a name="l00593"></a>00593   <span class="keywordtype">double</span> t25;
<a name="l00594"></a>00594   <span class="keywordtype">double</span> t3;
<a name="l00595"></a>00595   <span class="keywordtype">double</span> t30;
<a name="l00596"></a>00596   <span class="keywordtype">double</span> t31;
<a name="l00597"></a>00597   <span class="keywordtype">double</span> t37;
<a name="l00598"></a>00598   <span class="keywordtype">double</span> t38;
<a name="l00599"></a>00599   <span class="keywordtype">double</span> t4;
<a name="l00600"></a>00600   <span class="keywordtype">double</span> t41;
<a name="l00601"></a>00601   <span class="keywordtype">double</span> t42;
<a name="l00602"></a>00602   <span class="keywordtype">double</span> t45;
<a name="l00603"></a>00603   <span class="keywordtype">double</span> t46;
<a name="l00604"></a>00604   <span class="keywordtype">double</span> t48;
<a name="l00605"></a>00605   <span class="keywordtype">double</span> t49;
<a name="l00606"></a>00606   <span class="keywordtype">double</span> t5;
<a name="l00607"></a>00607   <span class="keywordtype">double</span> t50;
<a name="l00608"></a>00608   <span class="keywordtype">double</span> t53;
<a name="l00609"></a>00609   <span class="keywordtype">double</span> t56;
<a name="l00610"></a>00610   <span class="keywordtype">double</span> t57;
<a name="l00611"></a>00611   <span class="keywordtype">double</span> t59;
<a name="l00612"></a>00612   <span class="keywordtype">double</span> t6;
<a name="l00613"></a>00613   <span class="keywordtype">double</span> t60;
<a name="l00614"></a>00614   <span class="keywordtype">double</span> t62;
<a name="l00615"></a>00615   <span class="keywordtype">double</span> t64;
<a name="l00616"></a>00616   <span class="keywordtype">double</span> t69;
<a name="l00617"></a>00617   <span class="keywordtype">double</span> t7;
<a name="l00618"></a>00618   <span class="keywordtype">double</span> t74;
<a name="l00619"></a>00619   <span class="keywordtype">double</span> t79;
<a name="l00620"></a>00620   <span class="keywordtype">double</span> t82;
<a name="l00621"></a>00621   <span class="keywordtype">double</span> t83;
<a name="l00622"></a>00622   <span class="keywordtype">double</span> t9;
<a name="l00623"></a>00623   <span class="keywordtype">double</span> t97;
<a name="l00624"></a>00624   {
<a name="l00625"></a>00625     t1 = a[0];
<a name="l00626"></a>00626     t2 = v[0];
<a name="l00627"></a>00627     t3 = t2*t2;
<a name="l00628"></a>00628     t4 = v[1];
<a name="l00629"></a>00629     t5 = t4*t4;
<a name="l00630"></a>00630     t6 = v[2];
<a name="l00631"></a>00631     t7 = t6*t6;
<a name="l00632"></a>00632     t9 = sqrt(1.0-t3-t5-t7);
<a name="l00633"></a>00633     t10 = qr0[1];
<a name="l00634"></a>00634     t12 = qr0[0];
<a name="l00635"></a>00635     t14 = qr0[3];
<a name="l00636"></a>00636     t16 = qr0[2];
<a name="l00637"></a>00637     t18 = -t9*t10-t12*t2-t4*t14+t6*t16;
<a name="l00638"></a>00638     t19 = t18*t18;
<a name="l00639"></a>00639     t24 = t9*t12-t2*t10-t16*t4-t6*t14;
<a name="l00640"></a>00640     t25 = t24*t24;
<a name="l00641"></a>00641     t30 = t9*t14+t12*t6+t16*t2-t4*t10;
<a name="l00642"></a>00642     t31 = -t30;
<a name="l00643"></a>00643     t37 = -t9*t16-t12*t4-t6*t10+t2*t14;
<a name="l00644"></a>00644     t38 = t37*t37;
<a name="l00645"></a>00645     t41 = a[4];
<a name="l00646"></a>00646     t42 = t18*t37;
<a name="l00647"></a>00647     t45 = t24*t31;
<a name="l00648"></a>00648     t46 = 2.0*t42+t24*t30-t45;
<a name="l00649"></a>00649     t48 = a[1];
<a name="l00650"></a>00650     t49 = t31*t18;
<a name="l00651"></a>00651     t50 = t24*t37;
<a name="l00652"></a>00652     t53 = t49+2.0*t50-t30*t18;
<a name="l00653"></a>00653     t56 = -t18;
<a name="l00654"></a>00654     t57 = M[0];
<a name="l00655"></a>00655     t59 = -t37;
<a name="l00656"></a>00656     t60 = M[1];
<a name="l00657"></a>00657     t62 = M[2];
<a name="l00658"></a>00658     t64 = -t56*t57-t59*t60-t30*t62;
<a name="l00659"></a>00659     t69 = t24*t62+t56*t60-t59*t57;
<a name="l00660"></a>00660     t74 = t24*t57+t59*t62-t30*t60;
<a name="l00661"></a>00661     t79 = t24*t60+t30*t57-t56*t62;
<a name="l00662"></a>00662     t82 = t64*t31+t24*t69+t74*t37-t18*t79+t[2];
<a name="l00663"></a>00663     t83 = 1/t82;
<a name="l00664"></a>00664     t97 = t64*t37+t24*t79+t69*t18-t74*t31+t[1];
<a name="l00665"></a>00665     t101 = t82*t82;
<a name="l00666"></a>00666     t102 = 1/t101;
<a name="l00667"></a>00667     t103 = (t1*(t64*t18+t24*t74+t79*t31-t69*t37+t[0])+t41*t97+t48*t82)*t102;
<a name="l00668"></a>00668     jacmS[0][0] = (t1*(t19+t25+t30*t31-t38)+t41*t46+t48*t53)*t83-t103*t53;
<a name="l00669"></a>00669     t106 = t1*a[3];
<a name="l00670"></a>00670     t108 = a[2];
<a name="l00671"></a>00671     t115 = (t106*t97+t108*t82)*t102;
<a name="l00672"></a>00672     jacmS[1][0] = (t106*t46+t108*t53)*t83-t115*t53;
<a name="l00673"></a>00673     t122 = t31*t31;
<a name="l00674"></a>00674     t123 = t38+t25+t56*t18-t122;
<a name="l00675"></a>00675     t125 = t31*t37;
<a name="l00676"></a>00676     t128 = t24*t18;
<a name="l00677"></a>00677     t129 = 2.0*t125+t24*t56-t128;
<a name="l00678"></a>00678     jacmS[0][1] = (t1*(t42+2.0*t45-t56*t37)+t123*t41+t48*t129)*t83-t103*t129;
<a name="l00679"></a>00679     jacmS[1][1] = (t106*t123+t108*t129)*t83-t129*t115;
<a name="l00680"></a>00680     t145 = t125+2.0*t128-t59*t31;
<a name="l00681"></a>00681     t148 = t122+t25+t59*t37-t19;
<a name="l00682"></a>00682     jacmS[0][2] = (t1*(2.0*t49+t24*t59-t50)+t41*t145+t148*t48)*t83-t103*t148;
<a name="l00683"></a>00683     jacmS[1][2] = (t106*t145+t148*t108)*t83-t115*t148;
<a name="l00684"></a>00684     <span class="keywordflow">return</span>;
<a name="l00685"></a>00685   }
<a name="l00686"></a>00686 }
<a name="l00687"></a>00687 
<a name="l00688"></a>00688 <span class="preprocessor">#include &lt;math.h&gt;</span>
<a name="l00689"></a>00689 <span class="keywordtype">void</span> calcImgProjJacRTS(<span class="keywordtype">double</span> a[5],<span class="keywordtype">double</span> qr0[4],<span class="keywordtype">double</span> v[3],<span class="keywordtype">double</span> t[3],
<a name="l00690"></a>00690 <span class="keywordtype">double</span> M[3],<span class="keywordtype">double</span> jacmRT[2][6],<span class="keywordtype">double</span> jacmS[2][3])
<a name="l00691"></a>00691 {
<a name="l00692"></a>00692   <span class="keywordtype">double</span> t1;
<a name="l00693"></a>00693   <span class="keywordtype">double</span> t10;
<a name="l00694"></a>00694   <span class="keywordtype">double</span> t107;
<a name="l00695"></a>00695   <span class="keywordtype">double</span> t109;
<a name="l00696"></a>00696   <span class="keywordtype">double</span> t11;
<a name="l00697"></a>00697   <span class="keywordtype">double</span> t118;
<a name="l00698"></a>00698   <span class="keywordtype">double</span> t12;
<a name="l00699"></a>00699   <span class="keywordtype">double</span> t126;
<a name="l00700"></a>00700   <span class="keywordtype">double</span> t127;
<a name="l00701"></a>00701   <span class="keywordtype">double</span> t14;
<a name="l00702"></a>00702   <span class="keywordtype">double</span> t141;
<a name="l00703"></a>00703   <span class="keywordtype">double</span> t145;
<a name="l00704"></a>00704   <span class="keywordtype">double</span> t146;
<a name="l00705"></a>00705   <span class="keywordtype">double</span> t147;
<a name="l00706"></a>00706   <span class="keywordtype">double</span> t15;
<a name="l00707"></a>00707   <span class="keywordtype">double</span> t150;
<a name="l00708"></a>00708   <span class="keywordtype">double</span> t152;
<a name="l00709"></a>00709   <span class="keywordtype">double</span> t159;
<a name="l00710"></a>00710   <span class="keywordtype">double</span> t16;
<a name="l00711"></a>00711   <span class="keywordtype">double</span> t162;
<a name="l00712"></a>00712   <span class="keywordtype">double</span> t165;
<a name="l00713"></a>00713   <span class="keywordtype">double</span> t168;
<a name="l00714"></a>00714   <span class="keywordtype">double</span> t170;
<a name="l00715"></a>00715   <span class="keywordtype">double</span> t172;
<a name="l00716"></a>00716   <span class="keywordtype">double</span> t175;
<a name="l00717"></a>00717   <span class="keywordtype">double</span> t18;
<a name="l00718"></a>00718   <span class="keywordtype">double</span> t180;
<a name="l00719"></a>00719   <span class="keywordtype">double</span> t185;
<a name="l00720"></a>00720   <span class="keywordtype">double</span> t187;
<a name="l00721"></a>00721   <span class="keywordtype">double</span> t19;
<a name="l00722"></a>00722   <span class="keywordtype">double</span> t192;
<a name="l00723"></a>00723   <span class="keywordtype">double</span> t194;
<a name="l00724"></a>00724   <span class="keywordtype">double</span> t2;
<a name="l00725"></a>00725   <span class="keywordtype">double</span> t206;
<a name="l00726"></a>00726   <span class="keywordtype">double</span> t21;
<a name="l00727"></a>00727   <span class="keywordtype">double</span> t216;
<a name="l00728"></a>00728   <span class="keywordtype">double</span> t22;
<a name="l00729"></a>00729   <span class="keywordtype">double</span> t227;
<a name="l00730"></a>00730   <span class="keywordtype">double</span> t23;
<a name="l00731"></a>00731   <span class="keywordtype">double</span> t230;
<a name="l00732"></a>00732   <span class="keywordtype">double</span> t233;
<a name="l00733"></a>00733   <span class="keywordtype">double</span> t235;
<a name="l00734"></a>00734   <span class="keywordtype">double</span> t237;
<a name="l00735"></a>00735   <span class="keywordtype">double</span> t240;
<a name="l00736"></a>00736   <span class="keywordtype">double</span> t245;
<a name="l00737"></a>00737   <span class="keywordtype">double</span> t25;
<a name="l00738"></a>00738   <span class="keywordtype">double</span> t250;
<a name="l00739"></a>00739   <span class="keywordtype">double</span> t252;
<a name="l00740"></a>00740   <span class="keywordtype">double</span> t257;
<a name="l00741"></a>00741   <span class="keywordtype">double</span> t259;
<a name="l00742"></a>00742   <span class="keywordtype">double</span> t27;
<a name="l00743"></a>00743   <span class="keywordtype">double</span> t271;
<a name="l00744"></a>00744   <span class="keywordtype">double</span> t28;
<a name="l00745"></a>00745   <span class="keywordtype">double</span> t281;
<a name="l00746"></a>00746   <span class="keywordtype">double</span> t293;
<a name="l00747"></a>00747   <span class="keywordtype">double</span> t294;
<a name="l00748"></a>00748   <span class="keywordtype">double</span> t296;
<a name="l00749"></a>00749   <span class="keywordtype">double</span> t299;
<a name="l00750"></a>00750   <span class="keywordtype">double</span> t3;
<a name="l00751"></a>00751   <span class="keywordtype">double</span> t30;
<a name="l00752"></a>00752   <span class="keywordtype">double</span> t302;
<a name="l00753"></a>00753   <span class="keywordtype">double</span> t303;
<a name="l00754"></a>00754   <span class="keywordtype">double</span> t305;
<a name="l00755"></a>00755   <span class="keywordtype">double</span> t306;
<a name="l00756"></a>00756   <span class="keywordtype">double</span> t309;
<a name="l00757"></a>00757   <span class="keywordtype">double</span> t324;
<a name="l00758"></a>00758   <span class="keywordtype">double</span> t325;
<a name="l00759"></a>00759   <span class="keywordtype">double</span> t327;
<a name="l00760"></a>00760   <span class="keywordtype">double</span> t330;
<a name="l00761"></a>00761   <span class="keywordtype">double</span> t331;
<a name="l00762"></a>00762   <span class="keywordtype">double</span> t347;
<a name="l00763"></a>00763   <span class="keywordtype">double</span> t35;
<a name="l00764"></a>00764   <span class="keywordtype">double</span> t350;
<a name="l00765"></a>00765   <span class="keywordtype">double</span> t37;
<a name="l00766"></a>00766   <span class="keywordtype">double</span> t4;
<a name="l00767"></a>00767   <span class="keywordtype">double</span> t43;
<a name="l00768"></a>00768   <span class="keywordtype">double</span> t49;
<a name="l00769"></a>00769   <span class="keywordtype">double</span> t5;
<a name="l00770"></a>00770   <span class="keywordtype">double</span> t51;
<a name="l00771"></a>00771   <span class="keywordtype">double</span> t52;
<a name="l00772"></a>00772   <span class="keywordtype">double</span> t54;
<a name="l00773"></a>00773   <span class="keywordtype">double</span> t56;
<a name="l00774"></a>00774   <span class="keywordtype">double</span> t6;
<a name="l00775"></a>00775   <span class="keywordtype">double</span> t61;
<a name="l00776"></a>00776   <span class="keywordtype">double</span> t65;
<a name="l00777"></a>00777   <span class="keywordtype">double</span> t7;
<a name="l00778"></a>00778   <span class="keywordtype">double</span> t70;
<a name="l00779"></a>00779   <span class="keywordtype">double</span> t75;
<a name="l00780"></a>00780   <span class="keywordtype">double</span> t76;
<a name="l00781"></a>00781   <span class="keywordtype">double</span> t81;
<a name="l00782"></a>00782   <span class="keywordtype">double</span> t82;
<a name="l00783"></a>00783   <span class="keywordtype">double</span> t87;
<a name="l00784"></a>00784   <span class="keywordtype">double</span> t88;
<a name="l00785"></a>00785   <span class="keywordtype">double</span> t9;
<a name="l00786"></a>00786   <span class="keywordtype">double</span> t93;
<a name="l00787"></a>00787   <span class="keywordtype">double</span> t94;
<a name="l00788"></a>00788   <span class="keywordtype">double</span> t98;
<a name="l00789"></a>00789   {
<a name="l00790"></a>00790     t1 = a[0];
<a name="l00791"></a>00791     t2 = v[0];
<a name="l00792"></a>00792     t3 = t2*t2;
<a name="l00793"></a>00793     t4 = v[1];
<a name="l00794"></a>00794     t5 = t4*t4;
<a name="l00795"></a>00795     t6 = v[2];
<a name="l00796"></a>00796     t7 = t6*t6;
<a name="l00797"></a>00797     t9 = sqrt(1.0-t3-t5-t7);
<a name="l00798"></a>00798     t10 = 1/t9;
<a name="l00799"></a>00799     t11 = qr0[1];
<a name="l00800"></a>00800     t12 = t11*t10;
<a name="l00801"></a>00801     t14 = qr0[0];
<a name="l00802"></a>00802     t15 = -t12*t2+t14;
<a name="l00803"></a>00803     t16 = M[0];
<a name="l00804"></a>00804     t18 = qr0[2];
<a name="l00805"></a>00805     t19 = t18*t10;
<a name="l00806"></a>00806     t21 = qr0[3];
<a name="l00807"></a>00807     t22 = -t19*t2-t21;
<a name="l00808"></a>00808     t23 = M[1];
<a name="l00809"></a>00809     t25 = t10*t21;
<a name="l00810"></a>00810     t27 = -t25*t2+t18;
<a name="l00811"></a>00811     t28 = M[2];
<a name="l00812"></a>00812     t30 = -t15*t16-t22*t23-t27*t28;
<a name="l00813"></a>00813     t35 = -t9*t11-t2*t14-t4*t21+t6*t18;
<a name="l00814"></a>00814     t37 = -t35;
<a name="l00815"></a>00815     t43 = t9*t18+t4*t14+t6*t11-t2*t21;
<a name="l00816"></a>00816     t49 = t9*t21+t6*t14+t2*t18-t11*t4;
<a name="l00817"></a>00817     t51 = -t37*t16-t43*t23-t49*t28;
<a name="l00818"></a>00818     t52 = -t15;
<a name="l00819"></a>00819     t54 = t10*t14;
<a name="l00820"></a>00820     t56 = -t54*t2-t11;
<a name="l00821"></a>00821     t61 = t9*t14-t2*t11-t4*t18-t6*t21;
<a name="l00822"></a>00822     t65 = t61*t16+t43*t28-t23*t49;
<a name="l00823"></a>00823     t70 = t56*t16+t22*t28-t23*t27;
<a name="l00824"></a>00824     t75 = t56*t23+t27*t16-t28*t15;
<a name="l00825"></a>00825     t76 = -t49;
<a name="l00826"></a>00826     t81 = t61*t23+t49*t16-t37*t28;
<a name="l00827"></a>00827     t82 = -t27;
<a name="l00828"></a>00828     t87 = t56*t28+t23*t15-t22*t16;
<a name="l00829"></a>00829     t88 = -t43;
<a name="l00830"></a>00830     t93 = t61*t28+t37*t23-t43*t16;
<a name="l00831"></a>00831     t94 = -t22;
<a name="l00832"></a>00832     t98 = a[4];
<a name="l00833"></a>00833     t107 = t30*t88+t94*t51+t56*t81+t61*t75+t87*t35+t93*t52-t70*t76-t82*t65;
<a name="l00834"></a>00834     t109 = a[1];
<a name="l00835"></a>00835     t118 = t30*t76+t82*t51+t56*t93+t61*t87+t70*t88+t65*t94-t35*t75-t81*t52;
<a name="l00836"></a>00836     t126 = t76*t51+t61*t93+t65*t88-t81*t35+t[2];
<a name="l00837"></a>00837     t127 = 1/t126;
<a name="l00838"></a>00838     t141 = t51*t88+t61*t81+t93*t35-t65*t76+t[1];
<a name="l00839"></a>00839     t145 = t126*t126;
<a name="l00840"></a>00840     t146 = 1/t145;
<a name="l00841"></a>00841     t147 = (t1*(t35*t51+t61*t65+t81*t76-t93*t88+t[0])+t98*t141+t126*t109)*t146;
<a name="l00842"></a>00842     jacmRT[0][0] = (t1*(t30*t35+t52*t51+t56*t65+t61*t70+t76*t75+t81*t82-t88*t87
<a name="l00843"></a>00843 -t93*t94)+t98*t107+t109*t118)*t127-t118*t147;
<a name="l00844"></a>00844     t150 = t1*a[3];
<a name="l00845"></a>00845     t152 = a[2];
<a name="l00846"></a>00846     t159 = (t150*t141+t126*t152)*t146;
<a name="l00847"></a>00847     jacmRT[1][0] = (t107*t150+t152*t118)*t127-t159*t118;
<a name="l00848"></a>00848     t162 = -t12*t4+t21;
<a name="l00849"></a>00849     t165 = -t19*t4+t14;
<a name="l00850"></a>00850     t168 = -t25*t4-t11;
<a name="l00851"></a>00851     t170 = -t162*t16-t165*t23-t168*t28;
<a name="l00852"></a>00852     t172 = -t162;
<a name="l00853"></a>00853     t175 = -t54*t4-t18;
<a name="l00854"></a>00854     t180 = t175*t16+t165*t28-t168*t23;
<a name="l00855"></a>00855     t185 = t175*t23+t168*t16-t162*t28;
<a name="l00856"></a>00856     t187 = -t168;
<a name="l00857"></a>00857     t192 = t175*t28+t162*t23-t165*t16;
<a name="l00858"></a>00858     t194 = -t165;
<a name="l00859"></a>00859     t206 = t170*t88+t51*t194+t175*t81+t61*t185+t192*t35+t93*t172-t76*t180-t65*
<a name="l00860"></a>00860 t187;
<a name="l00861"></a>00861     t216 = t170*t76+t51*t187+t93*t175+t61*t192+t180*t88+t65*t194-t185*t35-t81*
<a name="l00862"></a>00862 t172;
<a name="l00863"></a>00863     jacmRT[0][1] = (t1*(t170*t35+t172*t51+t175*t65+t180*t61+t185*t76+t81*t187-
<a name="l00864"></a>00864 t192*t88-t93*t194)+t98*t206+t109*t216)*t127-t147*t216;
<a name="l00865"></a>00865     jacmRT[1][1] = (t150*t206+t152*t216)*t127-t159*t216;
<a name="l00866"></a>00866     t227 = -t12*t6-t18;
<a name="l00867"></a>00867     t230 = -t19*t6+t11;
<a name="l00868"></a>00868     t233 = -t25*t6+t14;
<a name="l00869"></a>00869     t235 = -t227*t16-t23*t230-t233*t28;
<a name="l00870"></a>00870     t237 = -t227;
<a name="l00871"></a>00871     t240 = -t54*t6-t21;
<a name="l00872"></a>00872     t245 = t240*t16+t230*t28-t233*t23;
<a name="l00873"></a>00873     t250 = t23*t240+t233*t16-t227*t28;
<a name="l00874"></a>00874     t252 = -t233;
<a name="l00875"></a>00875     t257 = t240*t28+t227*t23-t230*t16;
<a name="l00876"></a>00876     t259 = -t230;
<a name="l00877"></a>00877     t271 = t235*t88+t51*t259+t81*t240+t61*t250+t257*t35+t93*t237-t245*t76-t65*
<a name="l00878"></a>00878 t252;
<a name="l00879"></a>00879     t281 = t235*t76+t51*t252+t240*t93+t61*t257+t245*t88+t259*t65-t250*t35-t81*
<a name="l00880"></a>00880 t237;
<a name="l00881"></a>00881     jacmRT[0][2] = (t1*(t235*t35+t237*t51+t240*t65+t61*t245+t250*t76+t81*t252-
<a name="l00882"></a>00882 t257*t88-t93*t259)+t271*t98+t281*t109)*t127-t147*t281;
<a name="l00883"></a>00883     jacmRT[1][2] = (t150*t271+t281*t152)*t127-t159*t281;
<a name="l00884"></a>00884     jacmRT[0][3] = t127*t1;
<a name="l00885"></a>00885     jacmRT[1][3] = 0.0;
<a name="l00886"></a>00886     jacmRT[0][4] = t98*t127;
<a name="l00887"></a>00887     jacmRT[1][4] = t150*t127;
<a name="l00888"></a>00888     jacmRT[0][5] = t109*t127-t147;
<a name="l00889"></a>00889     jacmRT[1][5] = t152*t127-t159;
<a name="l00890"></a>00890     t293 = t35*t35;
<a name="l00891"></a>00891     t294 = t61*t61;
<a name="l00892"></a>00892     t296 = t88*t88;
<a name="l00893"></a>00893     t299 = t35*t88;
<a name="l00894"></a>00894     t302 = t61*t76;
<a name="l00895"></a>00895     t303 = 2.0*t299+t61*t49-t302;
<a name="l00896"></a>00896     t305 = t35*t76;
<a name="l00897"></a>00897     t306 = t61*t88;
<a name="l00898"></a>00898     t309 = t305+2.0*t306-t49*t35;
<a name="l00899"></a>00899     jacmS[0][0] = (t1*(t293+t294+t49*t76-t296)+t98*t303+t109*t309)*t127-t147*
<a name="l00900"></a>00900 t309;
<a name="l00901"></a>00901     jacmS[1][0] = (t150*t303+t152*t309)*t127-t159*t309;
<a name="l00902"></a>00902     t324 = t76*t76;
<a name="l00903"></a>00903     t325 = t296+t294+t35*t37-t324;
<a name="l00904"></a>00904     t327 = t76*t88;
<a name="l00905"></a>00905     t330 = t61*t35;
<a name="l00906"></a>00906     t331 = 2.0*t327+t61*t37-t330;
<a name="l00907"></a>00907     jacmS[0][1] = (t1*(t299+2.0*t302-t37*t88)+t98*t325+t109*t331)*t127-t147*
<a name="l00908"></a>00908 t331;
<a name="l00909"></a>00909     jacmS[1][1] = (t150*t325+t152*t331)*t127-t159*t331;
<a name="l00910"></a>00910     t347 = t327+2.0*t330-t43*t76;
<a name="l00911"></a>00911     t350 = t324+t294+t43*t88-t293;
<a name="l00912"></a>00912     jacmS[0][2] = (t1*(2.0*t305+t61*t43-t306)+t98*t347+t350*t109)*t127-t147*
<a name="l00913"></a>00913 t350;
<a name="l00914"></a>00914     jacmS[1][2] = (t150*t347+t152*t350)*t127-t159*t350;
<a name="l00915"></a>00915     <span class="keywordflow">return</span>;
<a name="l00916"></a>00916   }
<a name="l00917"></a>00917 }
<a name="l00918"></a>00918 
<a name="l00919"></a>00919 <span class="preprocessor">#include &lt;math.h&gt;</span>
<a name="l00920"></a>00920 <span class="keywordtype">void</span> calcImgProjJacRT(<span class="keywordtype">double</span> a[5],<span class="keywordtype">double</span> qr0[4],<span class="keywordtype">double</span> v[3],<span class="keywordtype">double</span> t[3],
<a name="l00921"></a>00921 <span class="keywordtype">double</span> M[3],<span class="keywordtype">double</span> jacmRT[2][6])
<a name="l00922"></a>00922 {
<a name="l00923"></a>00923   <span class="keywordtype">double</span> t1;
<a name="l00924"></a>00924   <span class="keywordtype">double</span> t10;
<a name="l00925"></a>00925   <span class="keywordtype">double</span> t107;
<a name="l00926"></a>00926   <span class="keywordtype">double</span> t109;
<a name="l00927"></a>00927   <span class="keywordtype">double</span> t11;
<a name="l00928"></a>00928   <span class="keywordtype">double</span> t118;
<a name="l00929"></a>00929   <span class="keywordtype">double</span> t12;
<a name="l00930"></a>00930   <span class="keywordtype">double</span> t126;
<a name="l00931"></a>00931   <span class="keywordtype">double</span> t127;
<a name="l00932"></a>00932   <span class="keywordtype">double</span> t14;
<a name="l00933"></a>00933   <span class="keywordtype">double</span> t141;
<a name="l00934"></a>00934   <span class="keywordtype">double</span> t145;
<a name="l00935"></a>00935   <span class="keywordtype">double</span> t146;
<a name="l00936"></a>00936   <span class="keywordtype">double</span> t147;
<a name="l00937"></a>00937   <span class="keywordtype">double</span> t15;
<a name="l00938"></a>00938   <span class="keywordtype">double</span> t150;
<a name="l00939"></a>00939   <span class="keywordtype">double</span> t152;
<a name="l00940"></a>00940   <span class="keywordtype">double</span> t159;
<a name="l00941"></a>00941   <span class="keywordtype">double</span> t16;
<a name="l00942"></a>00942   <span class="keywordtype">double</span> t162;
<a name="l00943"></a>00943   <span class="keywordtype">double</span> t165;
<a name="l00944"></a>00944   <span class="keywordtype">double</span> t168;
<a name="l00945"></a>00945   <span class="keywordtype">double</span> t170;
<a name="l00946"></a>00946   <span class="keywordtype">double</span> t172;
<a name="l00947"></a>00947   <span class="keywordtype">double</span> t175;
<a name="l00948"></a>00948   <span class="keywordtype">double</span> t18;
<a name="l00949"></a>00949   <span class="keywordtype">double</span> t180;
<a name="l00950"></a>00950   <span class="keywordtype">double</span> t185;
<a name="l00951"></a>00951   <span class="keywordtype">double</span> t187;
<a name="l00952"></a>00952   <span class="keywordtype">double</span> t19;
<a name="l00953"></a>00953   <span class="keywordtype">double</span> t192;
<a name="l00954"></a>00954   <span class="keywordtype">double</span> t194;
<a name="l00955"></a>00955   <span class="keywordtype">double</span> t2;
<a name="l00956"></a>00956   <span class="keywordtype">double</span> t206;
<a name="l00957"></a>00957   <span class="keywordtype">double</span> t21;
<a name="l00958"></a>00958   <span class="keywordtype">double</span> t216;
<a name="l00959"></a>00959   <span class="keywordtype">double</span> t22;
<a name="l00960"></a>00960   <span class="keywordtype">double</span> t227;
<a name="l00961"></a>00961   <span class="keywordtype">double</span> t23;
<a name="l00962"></a>00962   <span class="keywordtype">double</span> t230;
<a name="l00963"></a>00963   <span class="keywordtype">double</span> t233;
<a name="l00964"></a>00964   <span class="keywordtype">double</span> t235;
<a name="l00965"></a>00965   <span class="keywordtype">double</span> t237;
<a name="l00966"></a>00966   <span class="keywordtype">double</span> t240;
<a name="l00967"></a>00967   <span class="keywordtype">double</span> t245;
<a name="l00968"></a>00968   <span class="keywordtype">double</span> t25;
<a name="l00969"></a>00969   <span class="keywordtype">double</span> t250;
<a name="l00970"></a>00970   <span class="keywordtype">double</span> t252;
<a name="l00971"></a>00971   <span class="keywordtype">double</span> t257;
<a name="l00972"></a>00972   <span class="keywordtype">double</span> t259;
<a name="l00973"></a>00973   <span class="keywordtype">double</span> t27;
<a name="l00974"></a>00974   <span class="keywordtype">double</span> t271;
<a name="l00975"></a>00975   <span class="keywordtype">double</span> t28;
<a name="l00976"></a>00976   <span class="keywordtype">double</span> t281;
<a name="l00977"></a>00977   <span class="keywordtype">double</span> t3;
<a name="l00978"></a>00978   <span class="keywordtype">double</span> t30;
<a name="l00979"></a>00979   <span class="keywordtype">double</span> t35;
<a name="l00980"></a>00980   <span class="keywordtype">double</span> t37;
<a name="l00981"></a>00981   <span class="keywordtype">double</span> t4;
<a name="l00982"></a>00982   <span class="keywordtype">double</span> t43;
<a name="l00983"></a>00983   <span class="keywordtype">double</span> t49;
<a name="l00984"></a>00984   <span class="keywordtype">double</span> t5;
<a name="l00985"></a>00985   <span class="keywordtype">double</span> t51;
<a name="l00986"></a>00986   <span class="keywordtype">double</span> t52;
<a name="l00987"></a>00987   <span class="keywordtype">double</span> t54;
<a name="l00988"></a>00988   <span class="keywordtype">double</span> t56;
<a name="l00989"></a>00989   <span class="keywordtype">double</span> t6;
<a name="l00990"></a>00990   <span class="keywordtype">double</span> t61;
<a name="l00991"></a>00991   <span class="keywordtype">double</span> t65;
<a name="l00992"></a>00992   <span class="keywordtype">double</span> t7;
<a name="l00993"></a>00993   <span class="keywordtype">double</span> t70;
<a name="l00994"></a>00994   <span class="keywordtype">double</span> t75;
<a name="l00995"></a>00995   <span class="keywordtype">double</span> t76;
<a name="l00996"></a>00996   <span class="keywordtype">double</span> t81;
<a name="l00997"></a>00997   <span class="keywordtype">double</span> t82;
<a name="l00998"></a>00998   <span class="keywordtype">double</span> t87;
<a name="l00999"></a>00999   <span class="keywordtype">double</span> t88;
<a name="l01000"></a>01000   <span class="keywordtype">double</span> t9;
<a name="l01001"></a>01001   <span class="keywordtype">double</span> t93;
<a name="l01002"></a>01002   <span class="keywordtype">double</span> t94;
<a name="l01003"></a>01003   <span class="keywordtype">double</span> t98;
<a name="l01004"></a>01004   {
<a name="l01005"></a>01005     t1 = a[0];
<a name="l01006"></a>01006     t2 = v[0];
<a name="l01007"></a>01007     t3 = t2*t2;
<a name="l01008"></a>01008     t4 = v[1];
<a name="l01009"></a>01009     t5 = t4*t4;
<a name="l01010"></a>01010     t6 = v[2];
<a name="l01011"></a>01011     t7 = t6*t6;
<a name="l01012"></a>01012     t9 = sqrt(1.0-t3-t5-t7);
<a name="l01013"></a>01013     t10 = 1/t9;
<a name="l01014"></a>01014     t11 = qr0[1];
<a name="l01015"></a>01015     t12 = t11*t10;
<a name="l01016"></a>01016     t14 = qr0[0];
<a name="l01017"></a>01017     t15 = -t12*t2+t14;
<a name="l01018"></a>01018     t16 = M[0];
<a name="l01019"></a>01019     t18 = qr0[2];
<a name="l01020"></a>01020     t19 = t18*t10;
<a name="l01021"></a>01021     t21 = qr0[3];
<a name="l01022"></a>01022     t22 = -t19*t2-t21;
<a name="l01023"></a>01023     t23 = M[1];
<a name="l01024"></a>01024     t25 = t10*t21;
<a name="l01025"></a>01025     t27 = -t25*t2+t18;
<a name="l01026"></a>01026     t28 = M[2];
<a name="l01027"></a>01027     t30 = -t15*t16-t22*t23-t27*t28;
<a name="l01028"></a>01028     t35 = -t9*t11-t2*t14-t4*t21+t6*t18;
<a name="l01029"></a>01029     t37 = -t35;
<a name="l01030"></a>01030     t43 = t9*t18+t4*t14+t6*t11-t2*t21;
<a name="l01031"></a>01031     t49 = t9*t21+t6*t14+t2*t18-t11*t4;
<a name="l01032"></a>01032     t51 = -t37*t16-t43*t23-t49*t28;
<a name="l01033"></a>01033     t52 = -t15;
<a name="l01034"></a>01034     t54 = t10*t14;
<a name="l01035"></a>01035     t56 = -t54*t2-t11;
<a name="l01036"></a>01036     t61 = t9*t14-t2*t11-t4*t18-t6*t21;
<a name="l01037"></a>01037     t65 = t61*t16+t43*t28-t23*t49;
<a name="l01038"></a>01038     t70 = t56*t16+t22*t28-t23*t27;
<a name="l01039"></a>01039     t75 = t56*t23+t27*t16-t28*t15;
<a name="l01040"></a>01040     t76 = -t49;
<a name="l01041"></a>01041     t81 = t61*t23+t49*t16-t37*t28;
<a name="l01042"></a>01042     t82 = -t27;
<a name="l01043"></a>01043     t87 = t56*t28+t23*t15-t22*t16;
<a name="l01044"></a>01044     t88 = -t43;
<a name="l01045"></a>01045     t93 = t61*t28+t37*t23-t43*t16;
<a name="l01046"></a>01046     t94 = -t22;
<a name="l01047"></a>01047     t98 = a[4];
<a name="l01048"></a>01048     t107 = t30*t88+t94*t51+t56*t81+t61*t75+t87*t35+t93*t52-t70*t76-t82*t65;
<a name="l01049"></a>01049     t109 = a[1];
<a name="l01050"></a>01050     t118 = t30*t76+t82*t51+t56*t93+t61*t87+t70*t88+t65*t94-t35*t75-t81*t52;
<a name="l01051"></a>01051     t126 = t76*t51+t61*t93+t65*t88-t81*t35+t[2];
<a name="l01052"></a>01052     t127 = 1/t126;
<a name="l01053"></a>01053     t141 = t51*t88+t61*t81+t93*t35-t65*t76+t[1];
<a name="l01054"></a>01054     t145 = t126*t126;
<a name="l01055"></a>01055     t146 = 1/t145;
<a name="l01056"></a>01056     t147 = (t1*(t35*t51+t61*t65+t81*t76-t93*t88+t[0])+t98*t141+t126*t109)*t146;
<a name="l01057"></a>01057     jacmRT[0][0] = (t1*(t30*t35+t52*t51+t56*t65+t61*t70+t76*t75+t81*t82-t88*t87
<a name="l01058"></a>01058 -t93*t94)+t98*t107+t109*t118)*t127-t118*t147;
<a name="l01059"></a>01059     t150 = t1*a[3];
<a name="l01060"></a>01060     t152 = a[2];
<a name="l01061"></a>01061     t159 = (t150*t141+t126*t152)*t146;
<a name="l01062"></a>01062     jacmRT[1][0] = (t107*t150+t152*t118)*t127-t159*t118;
<a name="l01063"></a>01063     t162 = -t12*t4+t21;
<a name="l01064"></a>01064     t165 = -t19*t4+t14;
<a name="l01065"></a>01065     t168 = -t25*t4-t11;
<a name="l01066"></a>01066     t170 = -t162*t16-t165*t23-t168*t28;
<a name="l01067"></a>01067     t172 = -t162;
<a name="l01068"></a>01068     t175 = -t54*t4-t18;
<a name="l01069"></a>01069     t180 = t175*t16+t165*t28-t168*t23;
<a name="l01070"></a>01070     t185 = t175*t23+t168*t16-t162*t28;
<a name="l01071"></a>01071     t187 = -t168;
<a name="l01072"></a>01072     t192 = t175*t28+t162*t23-t165*t16;
<a name="l01073"></a>01073     t194 = -t165;
<a name="l01074"></a>01074     t206 = t170*t88+t51*t194+t175*t81+t61*t185+t192*t35+t93*t172-t76*t180-t65*
<a name="l01075"></a>01075 t187;
<a name="l01076"></a>01076     t216 = t170*t76+t51*t187+t93*t175+t61*t192+t180*t88+t65*t194-t185*t35-t81*
<a name="l01077"></a>01077 t172;
<a name="l01078"></a>01078     jacmRT[0][1] = (t1*(t170*t35+t172*t51+t175*t65+t180*t61+t185*t76+t81*t187-
<a name="l01079"></a>01079 t192*t88-t93*t194)+t98*t206+t109*t216)*t127-t147*t216;
<a name="l01080"></a>01080     jacmRT[1][1] = (t150*t206+t152*t216)*t127-t159*t216;
<a name="l01081"></a>01081     t227 = -t12*t6-t18;
<a name="l01082"></a>01082     t230 = -t19*t6+t11;
<a name="l01083"></a>01083     t233 = -t25*t6+t14;
<a name="l01084"></a>01084     t235 = -t227*t16-t23*t230-t233*t28;
<a name="l01085"></a>01085     t237 = -t227;
<a name="l01086"></a>01086     t240 = -t54*t6-t21;
<a name="l01087"></a>01087     t245 = t240*t16+t230*t28-t233*t23;
<a name="l01088"></a>01088     t250 = t23*t240+t233*t16-t227*t28;
<a name="l01089"></a>01089     t252 = -t233;
<a name="l01090"></a>01090     t257 = t240*t28+t227*t23-t230*t16;
<a name="l01091"></a>01091     t259 = -t230;
<a name="l01092"></a>01092     t271 = t235*t88+t51*t259+t81*t240+t61*t250+t257*t35+t93*t237-t245*t76-t65*
<a name="l01093"></a>01093 t252;
<a name="l01094"></a>01094     t281 = t235*t76+t51*t252+t240*t93+t61*t257+t245*t88+t259*t65-t250*t35-t81*
<a name="l01095"></a>01095 t237;
<a name="l01096"></a>01096     jacmRT[0][2] = (t1*(t235*t35+t237*t51+t240*t65+t61*t245+t250*t76+t81*t252-
<a name="l01097"></a>01097 t257*t88-t93*t259)+t271*t98+t281*t109)*t127-t147*t281;
<a name="l01098"></a>01098     jacmRT[1][2] = (t150*t271+t281*t152)*t127-t159*t281;
<a name="l01099"></a>01099     jacmRT[0][3] = t127*t1;
<a name="l01100"></a>01100     jacmRT[1][3] = 0.0;
<a name="l01101"></a>01101     jacmRT[0][4] = t98*t127;
<a name="l01102"></a>01102     jacmRT[1][4] = t150*t127;
<a name="l01103"></a>01103     jacmRT[0][5] = t109*t127-t147;
<a name="l01104"></a>01104     jacmRT[1][5] = t152*t127-t159;
<a name="l01105"></a>01105     <span class="keywordflow">return</span>;
<a name="l01106"></a>01106   }
<a name="l01107"></a>01107 }
<a name="l01108"></a>01108 
<a name="l01109"></a>01109 <span class="preprocessor">#include &lt;math.h&gt;</span>
<a name="l01110"></a>01110 <span class="keywordtype">void</span> calcDistImgProj(<span class="keywordtype">double</span> a[5],<span class="keywordtype">double</span> kc[5],<span class="keywordtype">double</span> qr0[4],<span class="keywordtype">double</span> v[3],
<a name="l01111"></a>01111 <span class="keywordtype">double</span> t[3],<span class="keywordtype">double</span> M[3],<span class="keywordtype">double</span> n[2])
<a name="l01112"></a>01112 {
<a name="l01113"></a>01113   <span class="keywordtype">double</span> t1;
<a name="l01114"></a>01114   <span class="keywordtype">double</span> t10;
<a name="l01115"></a>01115   <span class="keywordtype">double</span> t113;
<a name="l01116"></a>01116   <span class="keywordtype">double</span> t12;
<a name="l01117"></a>01117   <span class="keywordtype">double</span> t14;
<a name="l01118"></a>01118   <span class="keywordtype">double</span> t16;
<a name="l01119"></a>01119   <span class="keywordtype">double</span> t18;
<a name="l01120"></a>01120   <span class="keywordtype">double</span> t19;
<a name="l01121"></a>01121   <span class="keywordtype">double</span> t2;
<a name="l01122"></a>01122   <span class="keywordtype">double</span> t25;
<a name="l01123"></a>01123   <span class="keywordtype">double</span> t26;
<a name="l01124"></a>01124   <span class="keywordtype">double</span> t3;
<a name="l01125"></a>01125   <span class="keywordtype">double</span> t32;
<a name="l01126"></a>01126   <span class="keywordtype">double</span> t33;
<a name="l01127"></a>01127   <span class="keywordtype">double</span> t35;
<a name="l01128"></a>01128   <span class="keywordtype">double</span> t36;
<a name="l01129"></a>01129   <span class="keywordtype">double</span> t4;
<a name="l01130"></a>01130   <span class="keywordtype">double</span> t42;
<a name="l01131"></a>01131   <span class="keywordtype">double</span> t46;
<a name="l01132"></a>01132   <span class="keywordtype">double</span> t5;
<a name="l01133"></a>01133   <span class="keywordtype">double</span> t51;
<a name="l01134"></a>01134   <span class="keywordtype">double</span> t52;
<a name="l01135"></a>01135   <span class="keywordtype">double</span> t57;
<a name="l01136"></a>01136   <span class="keywordtype">double</span> t58;
<a name="l01137"></a>01137   <span class="keywordtype">double</span> t6;
<a name="l01138"></a>01138   <span class="keywordtype">double</span> t61;
<a name="l01139"></a>01139   <span class="keywordtype">double</span> t62;
<a name="l01140"></a>01140   <span class="keywordtype">double</span> t68;
<a name="l01141"></a>01141   <span class="keywordtype">double</span> t69;
<a name="l01142"></a>01142   <span class="keywordtype">double</span> t7;
<a name="l01143"></a>01143   <span class="keywordtype">double</span> t70;
<a name="l01144"></a>01144   <span class="keywordtype">double</span> t71;
<a name="l01145"></a>01145   <span class="keywordtype">double</span> t77;
<a name="l01146"></a>01146   <span class="keywordtype">double</span> t78;
<a name="l01147"></a>01147   <span class="keywordtype">double</span> t79;
<a name="l01148"></a>01148   <span class="keywordtype">double</span> t80;
<a name="l01149"></a>01149   <span class="keywordtype">double</span> t89;
<a name="l01150"></a>01150   <span class="keywordtype">double</span> t9;
<a name="l01151"></a>01151   <span class="keywordtype">double</span> t91;
<a name="l01152"></a>01152   <span class="keywordtype">double</span> t93;
<a name="l01153"></a>01153   <span class="keywordtype">double</span> t95;
<a name="l01154"></a>01154   <span class="keywordtype">double</span> t98;
<a name="l01155"></a>01155   {
<a name="l01156"></a>01156     t1 = a[0];
<a name="l01157"></a>01157     t2 = v[0];
<a name="l01158"></a>01158     t3 = t2*t2;
<a name="l01159"></a>01159     t4 = v[1];
<a name="l01160"></a>01160     t5 = t4*t4;
<a name="l01161"></a>01161     t6 = v[2];
<a name="l01162"></a>01162     t7 = t6*t6;
<a name="l01163"></a>01163     t9 = sqrt(1.0-t3-t5-t7);
<a name="l01164"></a>01164     t10 = qr0[1];
<a name="l01165"></a>01165     t12 = qr0[0];
<a name="l01166"></a>01166     t14 = qr0[3];
<a name="l01167"></a>01167     t16 = qr0[2];
<a name="l01168"></a>01168     t18 = t9*t10+t12*t2+t4*t14-t6*t16;
<a name="l01169"></a>01169     t19 = M[0];
<a name="l01170"></a>01170     t25 = t9*t16+t12*t4+t6*t10-t2*t14;
<a name="l01171"></a>01171     t26 = M[1];
<a name="l01172"></a>01172     t32 = t9*t14+t12*t6+t2*t16-t4*t10;
<a name="l01173"></a>01173     t33 = M[2];
<a name="l01174"></a>01174     t35 = -t18*t19-t25*t26-t33*t32;
<a name="l01175"></a>01175     t36 = -t18;
<a name="l01176"></a>01176     t42 = t9*t12-t2*t10-t4*t16-t6*t14;
<a name="l01177"></a>01177     t46 = t42*t19+t25*t33-t32*t26;
<a name="l01178"></a>01178     t51 = t42*t26+t32*t19-t18*t33;
<a name="l01179"></a>01179     t52 = -t32;
<a name="l01180"></a>01180     t57 = t42*t33+t18*t26-t25*t19;
<a name="l01181"></a>01181     t58 = -t25;
<a name="l01182"></a>01182     t61 = t35*t36+t42*t46+t52*t51-t57*t58+t[0];
<a name="l01183"></a>01183     t62 = t61*t61;
<a name="l01184"></a>01184     t68 = t52*t35+t42*t57+t46*t58-t51*t36+t[2];
<a name="l01185"></a>01185     t69 = t68*t68;
<a name="l01186"></a>01186     t70 = 1/t69;
<a name="l01187"></a>01187     t71 = t62*t70;
<a name="l01188"></a>01188     t77 = t35*t58+t42*t51+t57*t36-t52*t46+t[1];
<a name="l01189"></a>01189     t78 = t77*t77;
<a name="l01190"></a>01190     t79 = t78*t70;
<a name="l01191"></a>01191     t80 = t71+t79;
<a name="l01192"></a>01192     t89 = 1.0+t80*(kc[0]+t80*(kc[1]+t80*kc[4]));
<a name="l01193"></a>01193     t91 = 1/t68;
<a name="l01194"></a>01194     t93 = kc[2];
<a name="l01195"></a>01195     t95 = t70*t77;
<a name="l01196"></a>01196     t98 = kc[3];
<a name="l01197"></a>01197     t113 = t89*t77*t91+t93*(t71+3.0*t79)+2.0*t98*t61*t95;
<a name="l01198"></a>01198     n[0] = t1*(t89*t61*t91+2.0*t93*t61*t95+t98*(3.0*t71+t79))+a[4]*t113+a[1];
<a name="l01199"></a>01199     n[1] = t1*a[3]*t113+a[2];
<a name="l01200"></a>01200     <span class="keywordflow">return</span>;
<a name="l01201"></a>01201   }
<a name="l01202"></a>01202 }
<a name="l01203"></a>01203 
<a name="l01204"></a>01204 <span class="keywordtype">void</span> calcDistImgProjFullR(<span class="keywordtype">double</span> a[5],<span class="keywordtype">double</span> kc[5],<span class="keywordtype">double</span> qr0[4],<span class="keywordtype">double</span> t[3],
<a name="l01205"></a>01205 <span class="keywordtype">double</span> M[3],<span class="keywordtype">double</span> n[2])
<a name="l01206"></a>01206 {
<a name="l01207"></a>01207   <span class="keywordtype">double</span> t1;
<a name="l01208"></a>01208   <span class="keywordtype">double</span> t11;
<a name="l01209"></a>01209   <span class="keywordtype">double</span> t13;
<a name="l01210"></a>01210   <span class="keywordtype">double</span> t17;
<a name="l01211"></a>01211   <span class="keywordtype">double</span> t2;
<a name="l01212"></a>01212   <span class="keywordtype">double</span> t22;
<a name="l01213"></a>01213   <span class="keywordtype">double</span> t27;
<a name="l01214"></a>01214   <span class="keywordtype">double</span> t3;
<a name="l01215"></a>01215   <span class="keywordtype">double</span> t30;
<a name="l01216"></a>01216   <span class="keywordtype">double</span> t31;
<a name="l01217"></a>01217   <span class="keywordtype">double</span> t37;
<a name="l01218"></a>01218   <span class="keywordtype">double</span> t38;
<a name="l01219"></a>01219   <span class="keywordtype">double</span> t39;
<a name="l01220"></a>01220   <span class="keywordtype">double</span> t40;
<a name="l01221"></a>01221   <span class="keywordtype">double</span> t46;
<a name="l01222"></a>01222   <span class="keywordtype">double</span> t47;
<a name="l01223"></a>01223   <span class="keywordtype">double</span> t48;
<a name="l01224"></a>01224   <span class="keywordtype">double</span> t49;
<a name="l01225"></a>01225   <span class="keywordtype">double</span> t5;
<a name="l01226"></a>01226   <span class="keywordtype">double</span> t58;
<a name="l01227"></a>01227   <span class="keywordtype">double</span> t6;
<a name="l01228"></a>01228   <span class="keywordtype">double</span> t60;
<a name="l01229"></a>01229   <span class="keywordtype">double</span> t62;
<a name="l01230"></a>01230   <span class="keywordtype">double</span> t64;
<a name="l01231"></a>01231   <span class="keywordtype">double</span> t67;
<a name="l01232"></a>01232   <span class="keywordtype">double</span> t8;
<a name="l01233"></a>01233   <span class="keywordtype">double</span> t82;
<a name="l01234"></a>01234   <span class="keywordtype">double</span> t9;
<a name="l01235"></a>01235   {
<a name="l01236"></a>01236     t1 = a[0];
<a name="l01237"></a>01237     t2 = qr0[1];
<a name="l01238"></a>01238     t3 = M[0];
<a name="l01239"></a>01239     t5 = qr0[2];
<a name="l01240"></a>01240     t6 = M[1];
<a name="l01241"></a>01241     t8 = qr0[3];
<a name="l01242"></a>01242     t9 = M[2];
<a name="l01243"></a>01243     t11 = -t3*t2-t6*t5-t9*t8;
<a name="l01244"></a>01244     t13 = qr0[0];
<a name="l01245"></a>01245     t17 = t13*t3+t5*t9-t6*t8;
<a name="l01246"></a>01246     t22 = t6*t13+t8*t3-t9*t2;
<a name="l01247"></a>01247     t27 = t13*t9+t2*t6-t5*t3;
<a name="l01248"></a>01248     t30 = -t2*t11+t13*t17-t8*t22+t27*t5+t[0];
<a name="l01249"></a>01249     t31 = t30*t30;
<a name="l01250"></a>01250     t37 = -t8*t11+t13*t27-t5*t17+t2*t22+t[2];
<a name="l01251"></a>01251     t38 = t37*t37;
<a name="l01252"></a>01252     t39 = 1/t38;
<a name="l01253"></a>01253     t40 = t39*t31;
<a name="l01254"></a>01254     t46 = -t5*t11+t13*t22-t27*t2+t17*t8+t[1];
<a name="l01255"></a>01255     t47 = t46*t46;
<a name="l01256"></a>01256     t48 = t47*t39;
<a name="l01257"></a>01257     t49 = t40+t48;
<a name="l01258"></a>01258     t58 = 1.0+t49*(kc[0]+t49*(kc[1]+t49*kc[4]));
<a name="l01259"></a>01259     t60 = 1/t37;
<a name="l01260"></a>01260     t62 = kc[2];
<a name="l01261"></a>01261     t64 = t39*t46;
<a name="l01262"></a>01262     t67 = kc[3];
<a name="l01263"></a>01263     t82 = t58*t46*t60+t62*(t40+3.0*t48)+2.0*t67*t30*t64;
<a name="l01264"></a>01264     n[0] = t1*(t58*t30*t60+2.0*t62*t30*t64+t67*(3.0*t40+t48))+a[4]*t82+a[1];
<a name="l01265"></a>01265     n[1] = t1*a[3]*t82+a[2];
<a name="l01266"></a>01266     <span class="keywordflow">return</span>;
<a name="l01267"></a>01267   }
<a name="l01268"></a>01268 }
<a name="l01269"></a>01269 
<a name="l01270"></a>01270 <span class="preprocessor">#include &lt;math.h&gt;</span>
<a name="l01271"></a>01271 <span class="keywordtype">void</span> calcDistImgProjJacKDRTS(<span class="keywordtype">double</span> a[5],<span class="keywordtype">double</span> kc[5],<span class="keywordtype">double</span> qr0[4],
<a name="l01272"></a>01272 <span class="keywordtype">double</span> v[3],<span class="keywordtype">double</span> t[3],<span class="keywordtype">double</span> M[3],<span class="keywordtype">double</span> jacmKDRT[2][16],<span class="keywordtype">double</span> jacmS[2][3])
<a name="l01273"></a>01273 {
<a name="l01274"></a>01274   <span class="keywordtype">double</span> t1;
<a name="l01275"></a>01275   <span class="keywordtype">double</span> t101;
<a name="l01276"></a>01276   <span class="keywordtype">double</span> t102;
<a name="l01277"></a>01277   <span class="keywordtype">double</span> t105;
<a name="l01278"></a>01278   <span class="keywordtype">double</span> t107;
<a name="l01279"></a>01279   <span class="keywordtype">double</span> t11;
<a name="l01280"></a>01280   <span class="keywordtype">double</span> t110;
<a name="l01281"></a>01281   <span class="keywordtype">double</span> t111;
<a name="l01282"></a>01282   <span class="keywordtype">double</span> t113;
<a name="l01283"></a>01283   <span class="keywordtype">double</span> t115;
<a name="l01284"></a>01284   <span class="keywordtype">double</span> t117;
<a name="l01285"></a>01285   <span class="keywordtype">double</span> t119;
<a name="l01286"></a>01286   <span class="keywordtype">double</span> t120;
<a name="l01287"></a>01287   <span class="keywordtype">double</span> t122;
<a name="l01288"></a>01288   <span class="keywordtype">double</span> t13;
<a name="l01289"></a>01289   <span class="keywordtype">double</span> t137;
<a name="l01290"></a>01290   <span class="keywordtype">double</span> t140;
<a name="l01291"></a>01291   <span class="keywordtype">double</span> t147;
<a name="l01292"></a>01292   <span class="keywordtype">double</span> t148;
<a name="l01293"></a>01293   <span class="keywordtype">double</span> t15;
<a name="l01294"></a>01294   <span class="keywordtype">double</span> t150;
<a name="l01295"></a>01295   <span class="keywordtype">double</span> t152;
<a name="l01296"></a>01296   <span class="keywordtype">double</span> t154;
<a name="l01297"></a>01297   <span class="keywordtype">double</span> t156;
<a name="l01298"></a>01298   <span class="keywordtype">double</span> t158;
<a name="l01299"></a>01299   <span class="keywordtype">double</span> t160;
<a name="l01300"></a>01300   <span class="keywordtype">double</span> t162;
<a name="l01301"></a>01301   <span class="keywordtype">double</span> t164;
<a name="l01302"></a>01302   <span class="keywordtype">double</span> t166;
<a name="l01303"></a>01303   <span class="keywordtype">double</span> t17;
<a name="l01304"></a>01304   <span class="keywordtype">double</span> t171;
<a name="l01305"></a>01305   <span class="keywordtype">double</span> t176;
<a name="l01306"></a>01306   <span class="keywordtype">double</span> t178;
<a name="l01307"></a>01307   <span class="keywordtype">double</span> t18;
<a name="l01308"></a>01308   <span class="keywordtype">double</span> t183;
<a name="l01309"></a>01309   <span class="keywordtype">double</span> t185;
<a name="l01310"></a>01310   <span class="keywordtype">double</span> t187;
<a name="l01311"></a>01311   <span class="keywordtype">double</span> t188;
<a name="l01312"></a>01312   <span class="keywordtype">double</span> t190;
<a name="l01313"></a>01313   <span class="keywordtype">double</span> t191;
<a name="l01314"></a>01314   <span class="keywordtype">double</span> t2;
<a name="l01315"></a>01315   <span class="keywordtype">double</span> t200;
<a name="l01316"></a>01316   <span class="keywordtype">double</span> t201;
<a name="l01317"></a>01317   <span class="keywordtype">double</span> t210;
<a name="l01318"></a>01318   <span class="keywordtype">double</span> t211;
<a name="l01319"></a>01319   <span class="keywordtype">double</span> t212;
<a name="l01320"></a>01320   <span class="keywordtype">double</span> t213;
<a name="l01321"></a>01321   <span class="keywordtype">double</span> t215;
<a name="l01322"></a>01322   <span class="keywordtype">double</span> t222;
<a name="l01323"></a>01323   <span class="keywordtype">double</span> t227;
<a name="l01324"></a>01324   <span class="keywordtype">double</span> t232;
<a name="l01325"></a>01325   <span class="keywordtype">double</span> t233;
<a name="l01326"></a>01326   <span class="keywordtype">double</span> t236;
<a name="l01327"></a>01327   <span class="keywordtype">double</span> t24;
<a name="l01328"></a>01328   <span class="keywordtype">double</span> t25;
<a name="l01329"></a>01329   <span class="keywordtype">double</span> t265;
<a name="l01330"></a>01330   <span class="keywordtype">double</span> t268;
<a name="l01331"></a>01331   <span class="keywordtype">double</span> t271;
<a name="l01332"></a>01332   <span class="keywordtype">double</span> t274;
<a name="l01333"></a>01333   <span class="keywordtype">double</span> t276;
<a name="l01334"></a>01334   <span class="keywordtype">double</span> t278;
<a name="l01335"></a>01335   <span class="keywordtype">double</span> t281;
<a name="l01336"></a>01336   <span class="keywordtype">double</span> t286;
<a name="l01337"></a>01337   <span class="keywordtype">double</span> t291;
<a name="l01338"></a>01338   <span class="keywordtype">double</span> t293;
<a name="l01339"></a>01339   <span class="keywordtype">double</span> t298;
<a name="l01340"></a>01340   <span class="keywordtype">double</span> t3;
<a name="l01341"></a>01341   <span class="keywordtype">double</span> t300;
<a name="l01342"></a>01342   <span class="keywordtype">double</span> t302;
<a name="l01343"></a>01343   <span class="keywordtype">double</span> t303;
<a name="l01344"></a>01344   <span class="keywordtype">double</span> t31;
<a name="l01345"></a>01345   <span class="keywordtype">double</span> t312;
<a name="l01346"></a>01346   <span class="keywordtype">double</span> t313;
<a name="l01347"></a>01347   <span class="keywordtype">double</span> t32;
<a name="l01348"></a>01348   <span class="keywordtype">double</span> t322;
<a name="l01349"></a>01349   <span class="keywordtype">double</span> t323;
<a name="l01350"></a>01350   <span class="keywordtype">double</span> t324;
<a name="l01351"></a>01351   <span class="keywordtype">double</span> t326;
<a name="l01352"></a>01352   <span class="keywordtype">double</span> t333;
<a name="l01353"></a>01353   <span class="keywordtype">double</span> t338;
<a name="l01354"></a>01354   <span class="keywordtype">double</span> t34;
<a name="l01355"></a>01355   <span class="keywordtype">double</span> t343;
<a name="l01356"></a>01356   <span class="keywordtype">double</span> t346;
<a name="l01357"></a>01357   <span class="keywordtype">double</span> t35;
<a name="l01358"></a>01358   <span class="keywordtype">double</span> t375;
<a name="l01359"></a>01359   <span class="keywordtype">double</span> t378;
<a name="l01360"></a>01360   <span class="keywordtype">double</span> t381;
<a name="l01361"></a>01361   <span class="keywordtype">double</span> t384;
<a name="l01362"></a>01362   <span class="keywordtype">double</span> t386;
<a name="l01363"></a>01363   <span class="keywordtype">double</span> t388;
<a name="l01364"></a>01364   <span class="keywordtype">double</span> t391;
<a name="l01365"></a>01365   <span class="keywordtype">double</span> t396;
<a name="l01366"></a>01366   <span class="keywordtype">double</span> t4;
<a name="l01367"></a>01367   <span class="keywordtype">double</span> t401;
<a name="l01368"></a>01368   <span class="keywordtype">double</span> t403;
<a name="l01369"></a>01369   <span class="keywordtype">double</span> t408;
<a name="l01370"></a>01370   <span class="keywordtype">double</span> t41;
<a name="l01371"></a>01371   <span class="keywordtype">double</span> t410;
<a name="l01372"></a>01372   <span class="keywordtype">double</span> t412;
<a name="l01373"></a>01373   <span class="keywordtype">double</span> t413;
<a name="l01374"></a>01374   <span class="keywordtype">double</span> t422;
<a name="l01375"></a>01375   <span class="keywordtype">double</span> t423;
<a name="l01376"></a>01376   <span class="keywordtype">double</span> t432;
<a name="l01377"></a>01377   <span class="keywordtype">double</span> t433;
<a name="l01378"></a>01378   <span class="keywordtype">double</span> t434;
<a name="l01379"></a>01379   <span class="keywordtype">double</span> t436;
<a name="l01380"></a>01380   <span class="keywordtype">double</span> t443;
<a name="l01381"></a>01381   <span class="keywordtype">double</span> t448;
<a name="l01382"></a>01382   <span class="keywordtype">double</span> t45;
<a name="l01383"></a>01383   <span class="keywordtype">double</span> t453;
<a name="l01384"></a>01384   <span class="keywordtype">double</span> t456;
<a name="l01385"></a>01385   <span class="keywordtype">double</span> t485;
<a name="l01386"></a>01386   <span class="keywordtype">double</span> t491;
<a name="l01387"></a>01387   <span class="keywordtype">double</span> t496;
<a name="l01388"></a>01388   <span class="keywordtype">double</span> t499;
<a name="l01389"></a>01389   <span class="keywordtype">double</span> t5;
<a name="l01390"></a>01390   <span class="keywordtype">double</span> t50;
<a name="l01391"></a>01391   <span class="keywordtype">double</span> t501;
<a name="l01392"></a>01392   <span class="keywordtype">double</span> t503;
<a name="l01393"></a>01393   <span class="keywordtype">double</span> t51;
<a name="l01394"></a>01394   <span class="keywordtype">double</span> t510;
<a name="l01395"></a>01395   <span class="keywordtype">double</span> t513;
<a name="l01396"></a>01396   <span class="keywordtype">double</span> t514;
<a name="l01397"></a>01397   <span class="keywordtype">double</span> t523;
<a name="l01398"></a>01398   <span class="keywordtype">double</span> t532;
<a name="l01399"></a>01399   <span class="keywordtype">double</span> t535;
<a name="l01400"></a>01400   <span class="keywordtype">double</span> t542;
<a name="l01401"></a>01401   <span class="keywordtype">double</span> t56;
<a name="l01402"></a>01402   <span class="keywordtype">double</span> t563;
<a name="l01403"></a>01403   <span class="keywordtype">double</span> t565;
<a name="l01404"></a>01404   <span class="keywordtype">double</span> t566;
<a name="l01405"></a>01405   <span class="keywordtype">double</span> t568;
<a name="l01406"></a>01406   <span class="keywordtype">double</span> t569;
<a name="l01407"></a>01407   <span class="keywordtype">double</span> t57;
<a name="l01408"></a>01408   <span class="keywordtype">double</span> t570;
<a name="l01409"></a>01409   <span class="keywordtype">double</span> t571;
<a name="l01410"></a>01410   <span class="keywordtype">double</span> t572;
<a name="l01411"></a>01411   <span class="keywordtype">double</span> t575;
<a name="l01412"></a>01412   <span class="keywordtype">double</span> t576;
<a name="l01413"></a>01413   <span class="keywordtype">double</span> t577;
<a name="l01414"></a>01414   <span class="keywordtype">double</span> t580;
<a name="l01415"></a>01415   <span class="keywordtype">double</span> t581;
<a name="l01416"></a>01416   <span class="keywordtype">double</span> t582;
<a name="l01417"></a>01417   <span class="keywordtype">double</span> t583;
<a name="l01418"></a>01418   <span class="keywordtype">double</span> t585;
<a name="l01419"></a>01419   <span class="keywordtype">double</span> t592;
<a name="l01420"></a>01420   <span class="keywordtype">double</span> t597;
<a name="l01421"></a>01421   <span class="keywordtype">double</span> t6;
<a name="l01422"></a>01422   <span class="keywordtype">double</span> t60;
<a name="l01423"></a>01423   <span class="keywordtype">double</span> t602;
<a name="l01424"></a>01424   <span class="keywordtype">double</span> t605;
<a name="l01425"></a>01425   <span class="keywordtype">double</span> t61;
<a name="l01426"></a>01426   <span class="keywordtype">double</span> t634;
<a name="l01427"></a>01427   <span class="keywordtype">double</span> t638;
<a name="l01428"></a>01428   <span class="keywordtype">double</span> t639;
<a name="l01429"></a>01429   <span class="keywordtype">double</span> t640;
<a name="l01430"></a>01430   <span class="keywordtype">double</span> t643;
<a name="l01431"></a>01431   <span class="keywordtype">double</span> t644;
<a name="l01432"></a>01432   <span class="keywordtype">double</span> t645;
<a name="l01433"></a>01433   <span class="keywordtype">double</span> t647;
<a name="l01434"></a>01434   <span class="keywordtype">double</span> t648;
<a name="l01435"></a>01435   <span class="keywordtype">double</span> t649;
<a name="l01436"></a>01436   <span class="keywordtype">double</span> t650;
<a name="l01437"></a>01437   <span class="keywordtype">double</span> t652;
<a name="l01438"></a>01438   <span class="keywordtype">double</span> t659;
<a name="l01439"></a>01439   <span class="keywordtype">double</span> t664;
<a name="l01440"></a>01440   <span class="keywordtype">double</span> t669;
<a name="l01441"></a>01441   <span class="keywordtype">double</span> t67;
<a name="l01442"></a>01442   <span class="keywordtype">double</span> t672;
<a name="l01443"></a>01443   <span class="keywordtype">double</span> t68;
<a name="l01444"></a>01444   <span class="keywordtype">double</span> t69;
<a name="l01445"></a>01445   <span class="keywordtype">double</span> t70;
<a name="l01446"></a>01446   <span class="keywordtype">double</span> t701;
<a name="l01447"></a>01447   <span class="keywordtype">double</span> t705;
<a name="l01448"></a>01448   <span class="keywordtype">double</span> t706;
<a name="l01449"></a>01449   <span class="keywordtype">double</span> t708;
<a name="l01450"></a>01450   <span class="keywordtype">double</span> t709;
<a name="l01451"></a>01451   <span class="keywordtype">double</span> t712;
<a name="l01452"></a>01452   <span class="keywordtype">double</span> t713;
<a name="l01453"></a>01453   <span class="keywordtype">double</span> t714;
<a name="l01454"></a>01454   <span class="keywordtype">double</span> t716;
<a name="l01455"></a>01455   <span class="keywordtype">double</span> t723;
<a name="l01456"></a>01456   <span class="keywordtype">double</span> t728;
<a name="l01457"></a>01457   <span class="keywordtype">double</span> t733;
<a name="l01458"></a>01458   <span class="keywordtype">double</span> t736;
<a name="l01459"></a>01459   <span class="keywordtype">double</span> t76;
<a name="l01460"></a>01460   <span class="keywordtype">double</span> t765;
<a name="l01461"></a>01461   <span class="keywordtype">double</span> t77;
<a name="l01462"></a>01462   <span class="keywordtype">double</span> t78;
<a name="l01463"></a>01463   <span class="keywordtype">double</span> t79;
<a name="l01464"></a>01464   <span class="keywordtype">double</span> t8;
<a name="l01465"></a>01465   <span class="keywordtype">double</span> t82;
<a name="l01466"></a>01466   <span class="keywordtype">double</span> t84;
<a name="l01467"></a>01467   <span class="keywordtype">double</span> t86;
<a name="l01468"></a>01468   <span class="keywordtype">double</span> t88;
<a name="l01469"></a>01469   <span class="keywordtype">double</span> t89;
<a name="l01470"></a>01470   <span class="keywordtype">double</span> t9;
<a name="l01471"></a>01471   <span class="keywordtype">double</span> t90;
<a name="l01472"></a>01472   <span class="keywordtype">double</span> t92;
<a name="l01473"></a>01473   <span class="keywordtype">double</span> t93;
<a name="l01474"></a>01474   <span class="keywordtype">double</span> t94;
<a name="l01475"></a>01475   <span class="keywordtype">double</span> t97;
<a name="l01476"></a>01476   <span class="keywordtype">double</span> t99;
<a name="l01477"></a>01477   {
<a name="l01478"></a>01478     t1 = v[0];
<a name="l01479"></a>01479     t2 = t1*t1;
<a name="l01480"></a>01480     t3 = v[1];
<a name="l01481"></a>01481     t4 = t3*t3;
<a name="l01482"></a>01482     t5 = v[2];
<a name="l01483"></a>01483     t6 = t5*t5;
<a name="l01484"></a>01484     t8 = sqrt(1.0-t2-t4-t6);
<a name="l01485"></a>01485     t9 = qr0[1];
<a name="l01486"></a>01486     t11 = qr0[0];
<a name="l01487"></a>01487     t13 = qr0[3];
<a name="l01488"></a>01488     t15 = qr0[2];
<a name="l01489"></a>01489     t17 = t9*t8+t11*t1+t13*t3-t5*t15;
<a name="l01490"></a>01490     t18 = M[0];
<a name="l01491"></a>01491     t24 = t8*t15+t11*t3+t5*t9-t1*t13;
<a name="l01492"></a>01492     t25 = M[1];
<a name="l01493"></a>01493     t31 = t8*t13+t5*t11+t1*t15-t3*t9;
<a name="l01494"></a>01494     t32 = M[2];
<a name="l01495"></a>01495     t34 = -t17*t18-t24*t25-t31*t32;
<a name="l01496"></a>01496     t35 = -t17;
<a name="l01497"></a>01497     t41 = t8*t11-t1*t9-t3*t15-t5*t13;
<a name="l01498"></a>01498     t45 = t41*t18+t24*t32-t31*t25;
<a name="l01499"></a>01499     t50 = t41*t25+t31*t18-t32*t17;
<a name="l01500"></a>01500     t51 = -t31;
<a name="l01501"></a>01501     t56 = t41*t32+t17*t25-t24*t18;
<a name="l01502"></a>01502     t57 = -t24;
<a name="l01503"></a>01503     t60 = t34*t35+t41*t45+t50*t51-t56*t57+t[0];
<a name="l01504"></a>01504     t61 = t60*t60;
<a name="l01505"></a>01505     t67 = t34*t51+t41*t56+t45*t57-t50*t35+t[2];
<a name="l01506"></a>01506     t68 = t67*t67;
<a name="l01507"></a>01507     t69 = 1/t68;
<a name="l01508"></a>01508     t70 = t61*t69;
<a name="l01509"></a>01509     t76 = t34*t57+t41*t50+t56*t35-t45*t51+t[1];
<a name="l01510"></a>01510     t77 = t76*t76;
<a name="l01511"></a>01511     t78 = t77*t69;
<a name="l01512"></a>01512     t79 = t70+t78;
<a name="l01513"></a>01513     t82 = kc[4];
<a name="l01514"></a>01514     t84 = kc[1]+t79*t82;
<a name="l01515"></a>01515     t86 = kc[0]+t79*t84;
<a name="l01516"></a>01516     t88 = 1.0+t79*t86;
<a name="l01517"></a>01517     t89 = t88*t60;
<a name="l01518"></a>01518     t90 = 1/t67;
<a name="l01519"></a>01519     t92 = kc[2];
<a name="l01520"></a>01520     t93 = t92*t60;
<a name="l01521"></a>01521     t94 = t69*t76;
<a name="l01522"></a>01522     t97 = kc[3];
<a name="l01523"></a>01523     t99 = 3.0*t70+t78;
<a name="l01524"></a>01524     jacmKDRT[0][0] = t89*t90+2.0*t93*t94+t97*t99;
<a name="l01525"></a>01525     t101 = a[3];
<a name="l01526"></a>01526     t102 = t88*t76;
<a name="l01527"></a>01527     t105 = t70+3.0*t78;
<a name="l01528"></a>01528     t107 = t97*t60;
<a name="l01529"></a>01529     t110 = t102*t90+t92*t105+2.0*t107*t94;
<a name="l01530"></a>01530     jacmKDRT[1][0] = t101*t110;
<a name="l01531"></a>01531     jacmKDRT[0][1] = 1.0;
<a name="l01532"></a>01532     jacmKDRT[1][1] = 0.0;
<a name="l01533"></a>01533     jacmKDRT[0][2] = 0.0;
<a name="l01534"></a>01534     jacmKDRT[1][2] = 1.0;
<a name="l01535"></a>01535     jacmKDRT[0][3] = 0.0;
<a name="l01536"></a>01536     t111 = a[0];
<a name="l01537"></a>01537     jacmKDRT[1][3] = t110*t111;
<a name="l01538"></a>01538     jacmKDRT[0][4] = t110;
<a name="l01539"></a>01539     jacmKDRT[1][4] = 0.0;
<a name="l01540"></a>01540     t113 = t60*t90;
<a name="l01541"></a>01541     t115 = a[4];
<a name="l01542"></a>01542     t117 = t76*t90;
<a name="l01543"></a>01543     jacmKDRT[0][5] = t111*t79*t113+t115*t79*t117;
<a name="l01544"></a>01544     t119 = t111*t101;
<a name="l01545"></a>01545     t120 = t79*t76;
<a name="l01546"></a>01546     jacmKDRT[1][5] = t119*t120*t90;
<a name="l01547"></a>01547     t122 = t79*t79;
<a name="l01548"></a>01548     jacmKDRT[0][6] = t111*t122*t113+t115*t122*t117;
<a name="l01549"></a>01549     jacmKDRT[1][6] = t119*t122*t76*t90;
<a name="l01550"></a>01550     jacmKDRT[0][7] = 2.0*t111*t60*t94+t115*t105;
<a name="l01551"></a>01551     jacmKDRT[1][7] = t119*t105;
<a name="l01552"></a>01552     jacmKDRT[0][8] = t111*t99+2.0*t115*t60*t94;
<a name="l01553"></a>01553     t137 = t60*t69;
<a name="l01554"></a>01554     jacmKDRT[1][8] = 2.0*t119*t137*t76;
<a name="l01555"></a>01555     t140 = t122*t79;
<a name="l01556"></a>01556     jacmKDRT[0][9] = t111*t140*t113+t115*t140*t117;
<a name="l01557"></a>01557     jacmKDRT[1][9] = t119*t140*t76*t90;
<a name="l01558"></a>01558     t147 = 1/t8;
<a name="l01559"></a>01559     t148 = t147*t9;
<a name="l01560"></a>01560     t150 = -t148*t1+t11;
<a name="l01561"></a>01561     t152 = t147*t15;
<a name="l01562"></a>01562     t154 = -t152*t1-t13;
<a name="l01563"></a>01563     t156 = t13*t147;
<a name="l01564"></a>01564     t158 = -t156*t1+t15;
<a name="l01565"></a>01565     t160 = -t150*t18-t154*t25-t158*t32;
<a name="l01566"></a>01566     t162 = -t150;
<a name="l01567"></a>01567     t164 = t147*t11;
<a name="l01568"></a>01568     t166 = -t164*t1-t9;
<a name="l01569"></a>01569     t171 = t166*t18+t154*t32-t158*t25;
<a name="l01570"></a>01570     t176 = t166*t25+t158*t18-t150*t32;
<a name="l01571"></a>01571     t178 = -t158;
<a name="l01572"></a>01572     t183 = t32*t166+t150*t25-t154*t18;
<a name="l01573"></a>01573     t185 = -t154;
<a name="l01574"></a>01574     t187 = t160*t35+t34*t162+t166*t45+t41*t171+t176*t51+t50*t178-t183*t57-t56*
<a name="l01575"></a>01575 t185;
<a name="l01576"></a>01576     t188 = t137*t187;
<a name="l01577"></a>01577     t190 = 1/t68/t67;
<a name="l01578"></a>01578     t191 = t61*t190;
<a name="l01579"></a>01579     t200 = t160*t51+t34*t178+t166*t56+t41*t183+t171*t57+t45*t185-t176*t35-t50*
<a name="l01580"></a>01580 t162;
<a name="l01581"></a>01581     t201 = t191*t200;
<a name="l01582"></a>01582     t210 = t160*t57+t34*t185+t166*t50+t41*t176+t183*t35+t56*t162-t171*t51-t45*
<a name="l01583"></a>01583 t178;
<a name="l01584"></a>01584     t211 = t94*t210;
<a name="l01585"></a>01585     t212 = t77*t190;
<a name="l01586"></a>01586     t213 = t212*t200;
<a name="l01587"></a>01587     t215 = 2.0*t188-2.0*t201+2.0*t211-2.0*t213;
<a name="l01588"></a>01588     t222 = t215*t86+t79*(t215*t84+t79*t215*t82);
<a name="l01589"></a>01589     t227 = t69*t200;
<a name="l01590"></a>01590     t232 = t190*t76;
<a name="l01591"></a>01591     t233 = t232*t200;
<a name="l01592"></a>01592     t236 = t69*t210;
<a name="l01593"></a>01593     t265 = t222*t76*t90+t88*t210*t90-t102*t227+t92*(2.0*t188-2.0*t201+6.0*t211
<a name="l01594"></a>01594 -6.0*t213)+2.0*t97*t187*t94-4.0*t107*t233+2.0*t107*t236;
<a name="l01595"></a>01595     jacmKDRT[0][10] = t111*(t222*t60*t90+t88*t187*t90-t89*t227+2.0*t92*t187*t94
<a name="l01596"></a>01596 -4.0*t93*t233+2.0*t93*t236+t97*(6.0*t188-6.0*t201+2.0*t211-2.0*t213))+t115*t265
<a name="l01597"></a>01597 ;
<a name="l01598"></a>01598     jacmKDRT[1][10] = t119*t265;
<a name="l01599"></a>01599     t268 = -t148*t3+t13;
<a name="l01600"></a>01600     t271 = -t152*t3+t11;
<a name="l01601"></a>01601     t274 = -t156*t3-t9;
<a name="l01602"></a>01602     t276 = -t268*t18-t271*t25-t274*t32;
<a name="l01603"></a>01603     t278 = -t268;
<a name="l01604"></a>01604     t281 = -t164*t3-t15;
<a name="l01605"></a>01605     t286 = t281*t18+t271*t32-t274*t25;
<a name="l01606"></a>01606     t291 = t281*t25+t274*t18-t32*t268;
<a name="l01607"></a>01607     t293 = -t274;
<a name="l01608"></a>01608     t298 = t281*t32+t268*t25-t271*t18;
<a name="l01609"></a>01609     t300 = -t271;
<a name="l01610"></a>01610     t302 = t276*t35+t34*t278+t281*t45+t41*t286+t291*t51+t50*t293-t298*t57-t56*
<a name="l01611"></a>01611 t300;
<a name="l01612"></a>01612     t303 = t137*t302;
<a name="l01613"></a>01613     t312 = t276*t51+t34*t293+t281*t56+t41*t298+t286*t57+t45*t300-t291*t35-t50*
<a name="l01614"></a>01614 t278;
<a name="l01615"></a>01615     t313 = t191*t312;
<a name="l01616"></a>01616     t322 = t276*t57+t34*t300+t281*t50+t41*t291+t298*t35+t56*t278-t286*t51-t45*
<a name="l01617"></a>01617 t293;
<a name="l01618"></a>01618     t323 = t94*t322;
<a name="l01619"></a>01619     t324 = t212*t312;
<a name="l01620"></a>01620     t326 = 2.0*t303-2.0*t313+2.0*t323-2.0*t324;
<a name="l01621"></a>01621     t333 = t326*t86+t79*(t326*t84+t79*t326*t82);
<a name="l01622"></a>01622     t338 = t69*t312;
<a name="l01623"></a>01623     t343 = t312*t232;
<a name="l01624"></a>01624     t346 = t69*t322;
<a name="l01625"></a>01625     t375 = t333*t76*t90+t88*t322*t90-t338*t102+t92*(2.0*t303-2.0*t313+6.0*t323
<a name="l01626"></a>01626 -6.0*t324)+2.0*t97*t302*t94-4.0*t107*t343+2.0*t346*t107;
<a name="l01627"></a>01627     jacmKDRT[0][11] = t111*(t333*t60*t90+t88*t302*t90-t89*t338+2.0*t92*t302*t94
<a name="l01628"></a>01628 -4.0*t93*t343+2.0*t93*t346+t97*(6.0*t303-6.0*t313+2.0*t323-2.0*t324))+t115*t375
<a name="l01629"></a>01629 ;
<a name="l01630"></a>01630     jacmKDRT[1][11] = t119*t375;
<a name="l01631"></a>01631     t378 = -t148*t5-t15;
<a name="l01632"></a>01632     t381 = -t152*t5+t9;
<a name="l01633"></a>01633     t384 = -t156*t5+t11;
<a name="l01634"></a>01634     t386 = -t378*t18-t25*t381-t384*t32;
<a name="l01635"></a>01635     t388 = -t378;
<a name="l01636"></a>01636     t391 = -t164*t5-t13;
<a name="l01637"></a>01637     t396 = t391*t18+t381*t32-t384*t25;
<a name="l01638"></a>01638     t401 = t25*t391+t384*t18-t378*t32;
<a name="l01639"></a>01639     t403 = -t384;
<a name="l01640"></a>01640     t408 = t391*t32+t378*t25-t381*t18;
<a name="l01641"></a>01641     t410 = -t381;
<a name="l01642"></a>01642     t412 = t35*t386+t388*t34+t391*t45+t41*t396+t401*t51+t50*t403-t408*t57-t56*
<a name="l01643"></a>01643 t410;
<a name="l01644"></a>01644     t413 = t137*t412;
<a name="l01645"></a>01645     t422 = t386*t51+t34*t403+t56*t391+t41*t408+t396*t57+t45*t410-t401*t35-t50*
<a name="l01646"></a>01646 t388;
<a name="l01647"></a>01647     t423 = t191*t422;
<a name="l01648"></a>01648     t432 = t386*t57+t34*t410+t391*t50+t41*t401+t408*t35+t56*t388-t396*t51-t45*
<a name="l01649"></a>01649 t403;
<a name="l01650"></a>01650     t433 = t94*t432;
<a name="l01651"></a>01651     t434 = t212*t422;
<a name="l01652"></a>01652     t436 = 2.0*t413-2.0*t423+2.0*t433-2.0*t434;
<a name="l01653"></a>01653     t443 = t436*t86+t79*(t436*t84+t79*t436*t82);
<a name="l01654"></a>01654     t448 = t69*t422;
<a name="l01655"></a>01655     t453 = t232*t422;
<a name="l01656"></a>01656     t456 = t69*t432;
<a name="l01657"></a>01657     t485 = t443*t76*t90+t88*t432*t90-t102*t448+t92*(2.0*t413-2.0*t423+6.0*t433
<a name="l01658"></a>01658 -6.0*t434)+2.0*t97*t412*t94-4.0*t107*t453+2.0*t107*t456;
<a name="l01659"></a>01659     jacmKDRT[0][12] = t111*(t443*t60*t90+t88*t412*t90-t89*t448+2.0*t92*t412*t94
<a name="l01660"></a>01660 -4.0*t93*t453+2.0*t93*t456+t97*(6.0*t413-6.0*t423+2.0*t433-2.0*t434))+t115*t485
<a name="l01661"></a>01661 ;
<a name="l01662"></a>01662     jacmKDRT[1][12] = t119*t485;
<a name="l01663"></a>01663     t491 = t69*t82;
<a name="l01664"></a>01664     t496 = 2.0*t137*t86+t79*(2.0*t137*t84+2.0*t79*t60*t491);
<a name="l01665"></a>01665     t499 = t88*t90;
<a name="l01666"></a>01666     t501 = t92*t69*t76;
<a name="l01667"></a>01667     t503 = t107*t69;
<a name="l01668"></a>01668     t510 = 2.0*t93*t69;
<a name="l01669"></a>01669     t513 = 2.0*t97*t69*t76;
<a name="l01670"></a>01670     t514 = t496*t76*t90+t510+t513;
<a name="l01671"></a>01671     jacmKDRT[0][13] = t111*(t496*t60*t90+t499+2.0*t501+6.0*t503)+t115*t514;
<a name="l01672"></a>01672     jacmKDRT[1][13] = t119*t514;
<a name="l01673"></a>01673     t523 = 2.0*t94*t86+t79*(2.0*t94*t84+2.0*t120*t491);
<a name="l01674"></a>01674     t532 = t523*t76*t90+t499+6.0*t501+2.0*t503;
<a name="l01675"></a>01675     jacmKDRT[0][14] = t111*(t523*t60*t90+t510+t513)+t115*t532;
<a name="l01676"></a>01676     jacmKDRT[1][14] = t119*t532;
<a name="l01677"></a>01677     t535 = -2.0*t191-2.0*t212;
<a name="l01678"></a>01678     t542 = t535*t86+t79*(t535*t84+t79*t535*t82);
<a name="l01679"></a>01679     t563 = t542*t76*t90-t102*t69+t92*(-2.0*t191-6.0*t212)-4.0*t107*t232;
<a name="l01680"></a>01680     jacmKDRT[0][15] = t111*(t542*t60*t90-t89*t69-4.0*t93*t232+t97*(-6.0*t191
<a name="l01681"></a>01681 -2.0*t212))+t115*t563;
<a name="l01682"></a>01682     jacmKDRT[1][15] = t119*t563;
<a name="l01683"></a>01683     t565 = t35*t35;
<a name="l01684"></a>01684     t566 = t41*t41;
<a name="l01685"></a>01685     t568 = t57*t57;
<a name="l01686"></a>01686     t569 = t565+t566+t31*t51-t568;
<a name="l01687"></a>01687     t570 = t137*t569;
<a name="l01688"></a>01688     t571 = t35*t51;
<a name="l01689"></a>01689     t572 = t41*t57;
<a name="l01690"></a>01690     t575 = t571+2.0*t572-t31*t35;
<a name="l01691"></a>01691     t576 = t191*t575;
<a name="l01692"></a>01692     t577 = t35*t57;
<a name="l01693"></a>01693     t580 = t41*t51;
<a name="l01694"></a>01694     t581 = 2.0*t577+t41*t31-t580;
<a name="l01695"></a>01695     t582 = t94*t581;
<a name="l01696"></a>01696     t583 = t212*t575;
<a name="l01697"></a>01697     t585 = 2.0*t570-2.0*t576+2.0*t582-2.0*t583;
<a name="l01698"></a>01698     t592 = t585*t86+t79*(t84*t585+t79*t585*t82);
<a name="l01699"></a>01699     t597 = t69*t575;
<a name="l01700"></a>01700     t602 = t232*t575;
<a name="l01701"></a>01701     t605 = t69*t581;
<a name="l01702"></a>01702     t634 = t592*t76*t90+t88*t581*t90-t102*t597+t92*(2.0*t570-2.0*t576+6.0*t582
<a name="l01703"></a>01703 -6.0*t583)+2.0*t97*t569*t94-4.0*t107*t602+2.0*t107*t605;
<a name="l01704"></a>01704     jacmS[0][0] = t111*(t592*t60*t90+t88*t569*t90-t89*t597+2.0*t92*t569*t94-4.0
<a name="l01705"></a>01705 *t93*t602+2.0*t93*t605+t97*(6.0*t570-6.0*t576+2.0*t582-2.0*t583))+t115*t634;
<a name="l01706"></a>01706     jacmS[1][0] = t119*t634;
<a name="l01707"></a>01707     t638 = t577+2.0*t580-t17*t57;
<a name="l01708"></a>01708     t639 = t137*t638;
<a name="l01709"></a>01709     t640 = t57*t51;
<a name="l01710"></a>01710     t643 = t41*t35;
<a name="l01711"></a>01711     t644 = 2.0*t640+t41*t17-t643;
<a name="l01712"></a>01712     t645 = t191*t644;
<a name="l01713"></a>01713     t647 = t51*t51;
<a name="l01714"></a>01714     t648 = t568+t566+t17*t35-t647;
<a name="l01715"></a>01715     t649 = t94*t648;
<a name="l01716"></a>01716     t650 = t212*t644;
<a name="l01717"></a>01717     t652 = 2.0*t639-2.0*t645+2.0*t649-2.0*t650;
<a name="l01718"></a>01718     t659 = t652*t86+t79*(t652*t84+t79*t652*t82);
<a name="l01719"></a>01719     t664 = t69*t644;
<a name="l01720"></a>01720     t669 = t232*t644;
<a name="l01721"></a>01721     t672 = t69*t648;
<a name="l01722"></a>01722     t701 = t659*t76*t90+t88*t648*t90-t102*t664+t92*(2.0*t639-2.0*t645+6.0*t649
<a name="l01723"></a>01723 -6.0*t650)+2.0*t97*t638*t94-4.0*t107*t669+2.0*t107*t672;
<a name="l01724"></a>01724     jacmS[0][1] = t111*(t659*t60*t90+t88*t638*t90-t89*t664+2.0*t92*t638*t94-4.0
<a name="l01725"></a>01725 *t93*t669+2.0*t93*t672+t97*(6.0*t639-6.0*t645+2.0*t649-2.0*t650))+t115*t701;
<a name="l01726"></a>01726     jacmS[1][1] = t119*t701;
<a name="l01727"></a>01727     t705 = 2.0*t571+t41*t24-t572;
<a name="l01728"></a>01728     t706 = t137*t705;
<a name="l01729"></a>01729     t708 = t647+t566+t57*t24-t565;
<a name="l01730"></a>01730     t709 = t191*t708;
<a name="l01731"></a>01731     t712 = t640+2.0*t643-t24*t51;
<a name="l01732"></a>01732     t713 = t94*t712;
<a name="l01733"></a>01733     t714 = t212*t708;
<a name="l01734"></a>01734     t716 = 2.0*t706-2.0*t709+2.0*t713-2.0*t714;
<a name="l01735"></a>01735     t723 = t716*t86+t79*(t716*t84+t79*t716*t82);
<a name="l01736"></a>01736     t728 = t69*t708;
<a name="l01737"></a>01737     t733 = t232*t708;
<a name="l01738"></a>01738     t736 = t69*t712;
<a name="l01739"></a>01739     t765 = t723*t76*t90+t88*t712*t90-t102*t728+t92*(2.0*t706-2.0*t709+6.0*t713
<a name="l01740"></a>01740 -6.0*t714)+2.0*t97*t705*t94-4.0*t107*t733+2.0*t107*t736;
<a name="l01741"></a>01741     jacmS[0][2] = t111*(t723*t60*t90+t88*t705*t90-t89*t728+2.0*t92*t705*t94-4.0
<a name="l01742"></a>01742 *t93*t733+2.0*t93*t736+t97*(6.0*t706-6.0*t709+2.0*t713-2.0*t714))+t115*t765;
<a name="l01743"></a>01743     jacmS[1][2] = t119*t765;
<a name="l01744"></a>01744     <span class="keywordflow">return</span>;
<a name="l01745"></a>01745   }
<a name="l01746"></a>01746 }
<a name="l01747"></a>01747 
<a name="l01748"></a>01748 <span class="preprocessor">#include &lt;math.h&gt;</span>
<a name="l01749"></a>01749 <span class="keywordtype">void</span> calcDistImgProjJacKDRT(<span class="keywordtype">double</span> a[5],<span class="keywordtype">double</span> kc[5],<span class="keywordtype">double</span> qr0[4],<span class="keywordtype">double</span> v[3],
<a name="l01750"></a>01750 <span class="keywordtype">double</span> t[3],<span class="keywordtype">double</span> M[3],<span class="keywordtype">double</span> jacmKDRT[2][16])
<a name="l01751"></a>01751 {
<a name="l01752"></a>01752   <span class="keywordtype">double</span> t1;
<a name="l01753"></a>01753   <span class="keywordtype">double</span> t101;
<a name="l01754"></a>01754   <span class="keywordtype">double</span> t102;
<a name="l01755"></a>01755   <span class="keywordtype">double</span> t105;
<a name="l01756"></a>01756   <span class="keywordtype">double</span> t107;
<a name="l01757"></a>01757   <span class="keywordtype">double</span> t11;
<a name="l01758"></a>01758   <span class="keywordtype">double</span> t110;
<a name="l01759"></a>01759   <span class="keywordtype">double</span> t111;
<a name="l01760"></a>01760   <span class="keywordtype">double</span> t113;
<a name="l01761"></a>01761   <span class="keywordtype">double</span> t115;
<a name="l01762"></a>01762   <span class="keywordtype">double</span> t117;
<a name="l01763"></a>01763   <span class="keywordtype">double</span> t119;
<a name="l01764"></a>01764   <span class="keywordtype">double</span> t120;
<a name="l01765"></a>01765   <span class="keywordtype">double</span> t122;
<a name="l01766"></a>01766   <span class="keywordtype">double</span> t13;
<a name="l01767"></a>01767   <span class="keywordtype">double</span> t137;
<a name="l01768"></a>01768   <span class="keywordtype">double</span> t140;
<a name="l01769"></a>01769   <span class="keywordtype">double</span> t147;
<a name="l01770"></a>01770   <span class="keywordtype">double</span> t148;
<a name="l01771"></a>01771   <span class="keywordtype">double</span> t15;
<a name="l01772"></a>01772   <span class="keywordtype">double</span> t150;
<a name="l01773"></a>01773   <span class="keywordtype">double</span> t152;
<a name="l01774"></a>01774   <span class="keywordtype">double</span> t154;
<a name="l01775"></a>01775   <span class="keywordtype">double</span> t156;
<a name="l01776"></a>01776   <span class="keywordtype">double</span> t158;
<a name="l01777"></a>01777   <span class="keywordtype">double</span> t160;
<a name="l01778"></a>01778   <span class="keywordtype">double</span> t162;
<a name="l01779"></a>01779   <span class="keywordtype">double</span> t164;
<a name="l01780"></a>01780   <span class="keywordtype">double</span> t166;
<a name="l01781"></a>01781   <span class="keywordtype">double</span> t17;
<a name="l01782"></a>01782   <span class="keywordtype">double</span> t171;
<a name="l01783"></a>01783   <span class="keywordtype">double</span> t176;
<a name="l01784"></a>01784   <span class="keywordtype">double</span> t178;
<a name="l01785"></a>01785   <span class="keywordtype">double</span> t18;
<a name="l01786"></a>01786   <span class="keywordtype">double</span> t183;
<a name="l01787"></a>01787   <span class="keywordtype">double</span> t185;
<a name="l01788"></a>01788   <span class="keywordtype">double</span> t187;
<a name="l01789"></a>01789   <span class="keywordtype">double</span> t188;
<a name="l01790"></a>01790   <span class="keywordtype">double</span> t190;
<a name="l01791"></a>01791   <span class="keywordtype">double</span> t191;
<a name="l01792"></a>01792   <span class="keywordtype">double</span> t2;
<a name="l01793"></a>01793   <span class="keywordtype">double</span> t200;
<a name="l01794"></a>01794   <span class="keywordtype">double</span> t201;
<a name="l01795"></a>01795   <span class="keywordtype">double</span> t210;
<a name="l01796"></a>01796   <span class="keywordtype">double</span> t211;
<a name="l01797"></a>01797   <span class="keywordtype">double</span> t212;
<a name="l01798"></a>01798   <span class="keywordtype">double</span> t213;
<a name="l01799"></a>01799   <span class="keywordtype">double</span> t215;
<a name="l01800"></a>01800   <span class="keywordtype">double</span> t222;
<a name="l01801"></a>01801   <span class="keywordtype">double</span> t227;
<a name="l01802"></a>01802   <span class="keywordtype">double</span> t232;
<a name="l01803"></a>01803   <span class="keywordtype">double</span> t233;
<a name="l01804"></a>01804   <span class="keywordtype">double</span> t236;
<a name="l01805"></a>01805   <span class="keywordtype">double</span> t24;
<a name="l01806"></a>01806   <span class="keywordtype">double</span> t25;
<a name="l01807"></a>01807   <span class="keywordtype">double</span> t265;
<a name="l01808"></a>01808   <span class="keywordtype">double</span> t268;
<a name="l01809"></a>01809   <span class="keywordtype">double</span> t271;
<a name="l01810"></a>01810   <span class="keywordtype">double</span> t274;
<a name="l01811"></a>01811   <span class="keywordtype">double</span> t276;
<a name="l01812"></a>01812   <span class="keywordtype">double</span> t278;
<a name="l01813"></a>01813   <span class="keywordtype">double</span> t281;
<a name="l01814"></a>01814   <span class="keywordtype">double</span> t286;
<a name="l01815"></a>01815   <span class="keywordtype">double</span> t291;
<a name="l01816"></a>01816   <span class="keywordtype">double</span> t293;
<a name="l01817"></a>01817   <span class="keywordtype">double</span> t298;
<a name="l01818"></a>01818   <span class="keywordtype">double</span> t3;
<a name="l01819"></a>01819   <span class="keywordtype">double</span> t300;
<a name="l01820"></a>01820   <span class="keywordtype">double</span> t302;
<a name="l01821"></a>01821   <span class="keywordtype">double</span> t303;
<a name="l01822"></a>01822   <span class="keywordtype">double</span> t31;
<a name="l01823"></a>01823   <span class="keywordtype">double</span> t312;
<a name="l01824"></a>01824   <span class="keywordtype">double</span> t313;
<a name="l01825"></a>01825   <span class="keywordtype">double</span> t32;
<a name="l01826"></a>01826   <span class="keywordtype">double</span> t322;
<a name="l01827"></a>01827   <span class="keywordtype">double</span> t323;
<a name="l01828"></a>01828   <span class="keywordtype">double</span> t324;
<a name="l01829"></a>01829   <span class="keywordtype">double</span> t326;
<a name="l01830"></a>01830   <span class="keywordtype">double</span> t333;
<a name="l01831"></a>01831   <span class="keywordtype">double</span> t338;
<a name="l01832"></a>01832   <span class="keywordtype">double</span> t34;
<a name="l01833"></a>01833   <span class="keywordtype">double</span> t343;
<a name="l01834"></a>01834   <span class="keywordtype">double</span> t346;
<a name="l01835"></a>01835   <span class="keywordtype">double</span> t35;
<a name="l01836"></a>01836   <span class="keywordtype">double</span> t375;
<a name="l01837"></a>01837   <span class="keywordtype">double</span> t378;
<a name="l01838"></a>01838   <span class="keywordtype">double</span> t381;
<a name="l01839"></a>01839   <span class="keywordtype">double</span> t384;
<a name="l01840"></a>01840   <span class="keywordtype">double</span> t386;
<a name="l01841"></a>01841   <span class="keywordtype">double</span> t388;
<a name="l01842"></a>01842   <span class="keywordtype">double</span> t391;
<a name="l01843"></a>01843   <span class="keywordtype">double</span> t396;
<a name="l01844"></a>01844   <span class="keywordtype">double</span> t4;
<a name="l01845"></a>01845   <span class="keywordtype">double</span> t401;
<a name="l01846"></a>01846   <span class="keywordtype">double</span> t403;
<a name="l01847"></a>01847   <span class="keywordtype">double</span> t408;
<a name="l01848"></a>01848   <span class="keywordtype">double</span> t41;
<a name="l01849"></a>01849   <span class="keywordtype">double</span> t410;
<a name="l01850"></a>01850   <span class="keywordtype">double</span> t412;
<a name="l01851"></a>01851   <span class="keywordtype">double</span> t413;
<a name="l01852"></a>01852   <span class="keywordtype">double</span> t422;
<a name="l01853"></a>01853   <span class="keywordtype">double</span> t423;
<a name="l01854"></a>01854   <span class="keywordtype">double</span> t432;
<a name="l01855"></a>01855   <span class="keywordtype">double</span> t433;
<a name="l01856"></a>01856   <span class="keywordtype">double</span> t434;
<a name="l01857"></a>01857   <span class="keywordtype">double</span> t436;
<a name="l01858"></a>01858   <span class="keywordtype">double</span> t443;
<a name="l01859"></a>01859   <span class="keywordtype">double</span> t448;
<a name="l01860"></a>01860   <span class="keywordtype">double</span> t45;
<a name="l01861"></a>01861   <span class="keywordtype">double</span> t453;
<a name="l01862"></a>01862   <span class="keywordtype">double</span> t456;
<a name="l01863"></a>01863   <span class="keywordtype">double</span> t485;
<a name="l01864"></a>01864   <span class="keywordtype">double</span> t491;
<a name="l01865"></a>01865   <span class="keywordtype">double</span> t496;
<a name="l01866"></a>01866   <span class="keywordtype">double</span> t499;
<a name="l01867"></a>01867   <span class="keywordtype">double</span> t5;
<a name="l01868"></a>01868   <span class="keywordtype">double</span> t50;
<a name="l01869"></a>01869   <span class="keywordtype">double</span> t501;
<a name="l01870"></a>01870   <span class="keywordtype">double</span> t503;
<a name="l01871"></a>01871   <span class="keywordtype">double</span> t51;
<a name="l01872"></a>01872   <span class="keywordtype">double</span> t510;
<a name="l01873"></a>01873   <span class="keywordtype">double</span> t513;
<a name="l01874"></a>01874   <span class="keywordtype">double</span> t514;
<a name="l01875"></a>01875   <span class="keywordtype">double</span> t523;
<a name="l01876"></a>01876   <span class="keywordtype">double</span> t532;
<a name="l01877"></a>01877   <span class="keywordtype">double</span> t535;
<a name="l01878"></a>01878   <span class="keywordtype">double</span> t542;
<a name="l01879"></a>01879   <span class="keywordtype">double</span> t56;
<a name="l01880"></a>01880   <span class="keywordtype">double</span> t563;
<a name="l01881"></a>01881   <span class="keywordtype">double</span> t57;
<a name="l01882"></a>01882   <span class="keywordtype">double</span> t6;
<a name="l01883"></a>01883   <span class="keywordtype">double</span> t60;
<a name="l01884"></a>01884   <span class="keywordtype">double</span> t61;
<a name="l01885"></a>01885   <span class="keywordtype">double</span> t67;
<a name="l01886"></a>01886   <span class="keywordtype">double</span> t68;
<a name="l01887"></a>01887   <span class="keywordtype">double</span> t69;
<a name="l01888"></a>01888   <span class="keywordtype">double</span> t70;
<a name="l01889"></a>01889   <span class="keywordtype">double</span> t76;
<a name="l01890"></a>01890   <span class="keywordtype">double</span> t77;
<a name="l01891"></a>01891   <span class="keywordtype">double</span> t78;
<a name="l01892"></a>01892   <span class="keywordtype">double</span> t79;
<a name="l01893"></a>01893   <span class="keywordtype">double</span> t8;
<a name="l01894"></a>01894   <span class="keywordtype">double</span> t82;
<a name="l01895"></a>01895   <span class="keywordtype">double</span> t84;
<a name="l01896"></a>01896   <span class="keywordtype">double</span> t86;
<a name="l01897"></a>01897   <span class="keywordtype">double</span> t88;
<a name="l01898"></a>01898   <span class="keywordtype">double</span> t89;
<a name="l01899"></a>01899   <span class="keywordtype">double</span> t9;
<a name="l01900"></a>01900   <span class="keywordtype">double</span> t90;
<a name="l01901"></a>01901   <span class="keywordtype">double</span> t92;
<a name="l01902"></a>01902   <span class="keywordtype">double</span> t93;
<a name="l01903"></a>01903   <span class="keywordtype">double</span> t94;
<a name="l01904"></a>01904   <span class="keywordtype">double</span> t97;
<a name="l01905"></a>01905   <span class="keywordtype">double</span> t99;
<a name="l01906"></a>01906   {
<a name="l01907"></a>01907     t1 = v[0];
<a name="l01908"></a>01908     t2 = t1*t1;
<a name="l01909"></a>01909     t3 = v[1];
<a name="l01910"></a>01910     t4 = t3*t3;
<a name="l01911"></a>01911     t5 = v[2];
<a name="l01912"></a>01912     t6 = t5*t5;
<a name="l01913"></a>01913     t8 = sqrt(1.0-t2-t4-t6);
<a name="l01914"></a>01914     t9 = qr0[1];
<a name="l01915"></a>01915     t11 = qr0[0];
<a name="l01916"></a>01916     t13 = qr0[3];
<a name="l01917"></a>01917     t15 = qr0[2];
<a name="l01918"></a>01918     t17 = t9*t8+t11*t1+t13*t3-t5*t15;
<a name="l01919"></a>01919     t18 = M[0];
<a name="l01920"></a>01920     t24 = t8*t15+t11*t3+t5*t9-t1*t13;
<a name="l01921"></a>01921     t25 = M[1];
<a name="l01922"></a>01922     t31 = t8*t13+t5*t11+t1*t15-t3*t9;
<a name="l01923"></a>01923     t32 = M[2];
<a name="l01924"></a>01924     t34 = -t17*t18-t24*t25-t31*t32;
<a name="l01925"></a>01925     t35 = -t17;
<a name="l01926"></a>01926     t41 = t8*t11-t1*t9-t3*t15-t5*t13;
<a name="l01927"></a>01927     t45 = t41*t18+t24*t32-t31*t25;
<a name="l01928"></a>01928     t50 = t41*t25+t31*t18-t32*t17;
<a name="l01929"></a>01929     t51 = -t31;
<a name="l01930"></a>01930     t56 = t41*t32+t17*t25-t24*t18;
<a name="l01931"></a>01931     t57 = -t24;
<a name="l01932"></a>01932     t60 = t34*t35+t41*t45+t50*t51-t56*t57+t[0];
<a name="l01933"></a>01933     t61 = t60*t60;
<a name="l01934"></a>01934     t67 = t34*t51+t41*t56+t45*t57-t50*t35+t[2];
<a name="l01935"></a>01935     t68 = t67*t67;
<a name="l01936"></a>01936     t69 = 1/t68;
<a name="l01937"></a>01937     t70 = t61*t69;
<a name="l01938"></a>01938     t76 = t34*t57+t41*t50+t56*t35-t45*t51+t[1];
<a name="l01939"></a>01939     t77 = t76*t76;
<a name="l01940"></a>01940     t78 = t77*t69;
<a name="l01941"></a>01941     t79 = t70+t78;
<a name="l01942"></a>01942     t82 = kc[4];
<a name="l01943"></a>01943     t84 = kc[1]+t79*t82;
<a name="l01944"></a>01944     t86 = kc[0]+t79*t84;
<a name="l01945"></a>01945     t88 = 1.0+t79*t86;
<a name="l01946"></a>01946     t89 = t88*t60;
<a name="l01947"></a>01947     t90 = 1/t67;
<a name="l01948"></a>01948     t92 = kc[2];
<a name="l01949"></a>01949     t93 = t92*t60;
<a name="l01950"></a>01950     t94 = t69*t76;
<a name="l01951"></a>01951     t97 = kc[3];
<a name="l01952"></a>01952     t99 = 3.0*t70+t78;
<a name="l01953"></a>01953     jacmKDRT[0][0] = t89*t90+2.0*t93*t94+t97*t99;
<a name="l01954"></a>01954     t101 = a[3];
<a name="l01955"></a>01955     t102 = t88*t76;
<a name="l01956"></a>01956     t105 = t70+3.0*t78;
<a name="l01957"></a>01957     t107 = t97*t60;
<a name="l01958"></a>01958     t110 = t102*t90+t92*t105+2.0*t107*t94;
<a name="l01959"></a>01959     jacmKDRT[1][0] = t101*t110;
<a name="l01960"></a>01960     jacmKDRT[0][1] = 1.0;
<a name="l01961"></a>01961     jacmKDRT[1][1] = 0.0;
<a name="l01962"></a>01962     jacmKDRT[0][2] = 0.0;
<a name="l01963"></a>01963     jacmKDRT[1][2] = 1.0;
<a name="l01964"></a>01964     jacmKDRT[0][3] = 0.0;
<a name="l01965"></a>01965     t111 = a[0];
<a name="l01966"></a>01966     jacmKDRT[1][3] = t110*t111;
<a name="l01967"></a>01967     jacmKDRT[0][4] = t110;
<a name="l01968"></a>01968     jacmKDRT[1][4] = 0.0;
<a name="l01969"></a>01969     t113 = t60*t90;
<a name="l01970"></a>01970     t115 = a[4];
<a name="l01971"></a>01971     t117 = t76*t90;
<a name="l01972"></a>01972     jacmKDRT[0][5] = t111*t79*t113+t115*t79*t117;
<a name="l01973"></a>01973     t119 = t111*t101;
<a name="l01974"></a>01974     t120 = t79*t76;
<a name="l01975"></a>01975     jacmKDRT[1][5] = t119*t120*t90;
<a name="l01976"></a>01976     t122 = t79*t79;
<a name="l01977"></a>01977     jacmKDRT[0][6] = t111*t122*t113+t115*t122*t117;
<a name="l01978"></a>01978     jacmKDRT[1][6] = t119*t122*t76*t90;
<a name="l01979"></a>01979     jacmKDRT[0][7] = 2.0*t111*t60*t94+t115*t105;
<a name="l01980"></a>01980     jacmKDRT[1][7] = t119*t105;
<a name="l01981"></a>01981     jacmKDRT[0][8] = t111*t99+2.0*t115*t60*t94;
<a name="l01982"></a>01982     t137 = t60*t69;
<a name="l01983"></a>01983     jacmKDRT[1][8] = 2.0*t119*t137*t76;
<a name="l01984"></a>01984     t140 = t122*t79;
<a name="l01985"></a>01985     jacmKDRT[0][9] = t111*t140*t113+t115*t140*t117;
<a name="l01986"></a>01986     jacmKDRT[1][9] = t119*t140*t76*t90;
<a name="l01987"></a>01987     t147 = 1/t8;
<a name="l01988"></a>01988     t148 = t147*t9;
<a name="l01989"></a>01989     t150 = -t148*t1+t11;
<a name="l01990"></a>01990     t152 = t147*t15;
<a name="l01991"></a>01991     t154 = -t152*t1-t13;
<a name="l01992"></a>01992     t156 = t13*t147;
<a name="l01993"></a>01993     t158 = -t156*t1+t15;
<a name="l01994"></a>01994     t160 = -t150*t18-t154*t25-t158*t32;
<a name="l01995"></a>01995     t162 = -t150;
<a name="l01996"></a>01996     t164 = t147*t11;
<a name="l01997"></a>01997     t166 = -t164*t1-t9;
<a name="l01998"></a>01998     t171 = t166*t18+t154*t32-t158*t25;
<a name="l01999"></a>01999     t176 = t166*t25+t158*t18-t150*t32;
<a name="l02000"></a>02000     t178 = -t158;
<a name="l02001"></a>02001     t183 = t32*t166+t150*t25-t154*t18;
<a name="l02002"></a>02002     t185 = -t154;
<a name="l02003"></a>02003     t187 = t160*t35+t34*t162+t166*t45+t41*t171+t176*t51+t50*t178-t183*t57-t56*
<a name="l02004"></a>02004 t185;
<a name="l02005"></a>02005     t188 = t137*t187;
<a name="l02006"></a>02006     t190 = 1/t68/t67;
<a name="l02007"></a>02007     t191 = t61*t190;
<a name="l02008"></a>02008     t200 = t160*t51+t34*t178+t166*t56+t41*t183+t171*t57+t45*t185-t176*t35-t50*
<a name="l02009"></a>02009 t162;
<a name="l02010"></a>02010     t201 = t191*t200;
<a name="l02011"></a>02011     t210 = t160*t57+t34*t185+t166*t50+t41*t176+t183*t35+t56*t162-t171*t51-t45*
<a name="l02012"></a>02012 t178;
<a name="l02013"></a>02013     t211 = t94*t210;
<a name="l02014"></a>02014     t212 = t77*t190;
<a name="l02015"></a>02015     t213 = t212*t200;
<a name="l02016"></a>02016     t215 = 2.0*t188-2.0*t201+2.0*t211-2.0*t213;
<a name="l02017"></a>02017     t222 = t215*t86+t79*(t215*t84+t79*t215*t82);
<a name="l02018"></a>02018     t227 = t69*t200;
<a name="l02019"></a>02019     t232 = t190*t76;
<a name="l02020"></a>02020     t233 = t232*t200;
<a name="l02021"></a>02021     t236 = t69*t210;
<a name="l02022"></a>02022     t265 = t222*t76*t90+t88*t210*t90-t102*t227+t92*(2.0*t188-2.0*t201+6.0*t211
<a name="l02023"></a>02023 -6.0*t213)+2.0*t97*t187*t94-4.0*t107*t233+2.0*t107*t236;
<a name="l02024"></a>02024     jacmKDRT[0][10] = t111*(t222*t60*t90+t88*t187*t90-t89*t227+2.0*t92*t187*t94
<a name="l02025"></a>02025 -4.0*t93*t233+2.0*t93*t236+t97*(6.0*t188-6.0*t201+2.0*t211-2.0*t213))+t115*t265
<a name="l02026"></a>02026 ;
<a name="l02027"></a>02027     jacmKDRT[1][10] = t119*t265;
<a name="l02028"></a>02028     t268 = -t148*t3+t13;
<a name="l02029"></a>02029     t271 = -t152*t3+t11;
<a name="l02030"></a>02030     t274 = -t156*t3-t9;
<a name="l02031"></a>02031     t276 = -t268*t18-t271*t25-t274*t32;
<a name="l02032"></a>02032     t278 = -t268;
<a name="l02033"></a>02033     t281 = -t164*t3-t15;
<a name="l02034"></a>02034     t286 = t281*t18+t271*t32-t274*t25;
<a name="l02035"></a>02035     t291 = t281*t25+t274*t18-t32*t268;
<a name="l02036"></a>02036     t293 = -t274;
<a name="l02037"></a>02037     t298 = t281*t32+t268*t25-t271*t18;
<a name="l02038"></a>02038     t300 = -t271;
<a name="l02039"></a>02039     t302 = t276*t35+t34*t278+t281*t45+t41*t286+t291*t51+t50*t293-t298*t57-t56*
<a name="l02040"></a>02040 t300;
<a name="l02041"></a>02041     t303 = t137*t302;
<a name="l02042"></a>02042     t312 = t276*t51+t34*t293+t281*t56+t41*t298+t286*t57+t45*t300-t291*t35-t50*
<a name="l02043"></a>02043 t278;
<a name="l02044"></a>02044     t313 = t191*t312;
<a name="l02045"></a>02045     t322 = t276*t57+t34*t300+t281*t50+t41*t291+t298*t35+t56*t278-t286*t51-t45*
<a name="l02046"></a>02046 t293;
<a name="l02047"></a>02047     t323 = t94*t322;
<a name="l02048"></a>02048     t324 = t212*t312;
<a name="l02049"></a>02049     t326 = 2.0*t303-2.0*t313+2.0*t323-2.0*t324;
<a name="l02050"></a>02050     t333 = t326*t86+t79*(t326*t84+t79*t326*t82);
<a name="l02051"></a>02051     t338 = t69*t312;
<a name="l02052"></a>02052     t343 = t312*t232;
<a name="l02053"></a>02053     t346 = t69*t322;
<a name="l02054"></a>02054     t375 = t333*t76*t90+t88*t322*t90-t338*t102+t92*(2.0*t303-2.0*t313+6.0*t323
<a name="l02055"></a>02055 -6.0*t324)+2.0*t97*t302*t94-4.0*t107*t343+2.0*t346*t107;
<a name="l02056"></a>02056     jacmKDRT[0][11] = t111*(t333*t60*t90+t88*t302*t90-t89*t338+2.0*t92*t302*t94
<a name="l02057"></a>02057 -4.0*t93*t343+2.0*t93*t346+t97*(6.0*t303-6.0*t313+2.0*t323-2.0*t324))+t115*t375
<a name="l02058"></a>02058 ;
<a name="l02059"></a>02059     jacmKDRT[1][11] = t119*t375;
<a name="l02060"></a>02060     t378 = -t148*t5-t15;
<a name="l02061"></a>02061     t381 = -t152*t5+t9;
<a name="l02062"></a>02062     t384 = -t156*t5+t11;
<a name="l02063"></a>02063     t386 = -t378*t18-t25*t381-t384*t32;
<a name="l02064"></a>02064     t388 = -t378;
<a name="l02065"></a>02065     t391 = -t164*t5-t13;
<a name="l02066"></a>02066     t396 = t391*t18+t381*t32-t384*t25;
<a name="l02067"></a>02067     t401 = t25*t391+t384*t18-t378*t32;
<a name="l02068"></a>02068     t403 = -t384;
<a name="l02069"></a>02069     t408 = t391*t32+t378*t25-t381*t18;
<a name="l02070"></a>02070     t410 = -t381;
<a name="l02071"></a>02071     t412 = t35*t386+t388*t34+t391*t45+t41*t396+t401*t51+t50*t403-t408*t57-t56*
<a name="l02072"></a>02072 t410;
<a name="l02073"></a>02073     t413 = t137*t412;
<a name="l02074"></a>02074     t422 = t386*t51+t34*t403+t56*t391+t41*t408+t396*t57+t45*t410-t401*t35-t50*
<a name="l02075"></a>02075 t388;
<a name="l02076"></a>02076     t423 = t191*t422;
<a name="l02077"></a>02077     t432 = t386*t57+t34*t410+t391*t50+t41*t401+t408*t35+t56*t388-t396*t51-t45*
<a name="l02078"></a>02078 t403;
<a name="l02079"></a>02079     t433 = t94*t432;
<a name="l02080"></a>02080     t434 = t212*t422;
<a name="l02081"></a>02081     t436 = 2.0*t413-2.0*t423+2.0*t433-2.0*t434;
<a name="l02082"></a>02082     t443 = t436*t86+t79*(t436*t84+t79*t436*t82);
<a name="l02083"></a>02083     t448 = t69*t422;
<a name="l02084"></a>02084     t453 = t232*t422;
<a name="l02085"></a>02085     t456 = t69*t432;
<a name="l02086"></a>02086     t485 = t443*t76*t90+t88*t432*t90-t102*t448+t92*(2.0*t413-2.0*t423+6.0*t433
<a name="l02087"></a>02087 -6.0*t434)+2.0*t97*t412*t94-4.0*t107*t453+2.0*t107*t456;
<a name="l02088"></a>02088     jacmKDRT[0][12] = t111*(t443*t60*t90+t88*t412*t90-t89*t448+2.0*t92*t412*t94
<a name="l02089"></a>02089 -4.0*t93*t453+2.0*t93*t456+t97*(6.0*t413-6.0*t423+2.0*t433-2.0*t434))+t115*t485
<a name="l02090"></a>02090 ;
<a name="l02091"></a>02091     jacmKDRT[1][12] = t119*t485;
<a name="l02092"></a>02092     t491 = t69*t82;
<a name="l02093"></a>02093     t496 = 2.0*t137*t86+t79*(2.0*t137*t84+2.0*t79*t60*t491);
<a name="l02094"></a>02094     t499 = t88*t90;
<a name="l02095"></a>02095     t501 = t92*t69*t76;
<a name="l02096"></a>02096     t503 = t107*t69;
<a name="l02097"></a>02097     t510 = 2.0*t93*t69;
<a name="l02098"></a>02098     t513 = 2.0*t97*t69*t76;
<a name="l02099"></a>02099     t514 = t496*t76*t90+t510+t513;
<a name="l02100"></a>02100     jacmKDRT[0][13] = t111*(t496*t60*t90+t499+2.0*t501+6.0*t503)+t115*t514;
<a name="l02101"></a>02101     jacmKDRT[1][13] = t119*t514;
<a name="l02102"></a>02102     t523 = 2.0*t94*t86+t79*(2.0*t94*t84+2.0*t120*t491);
<a name="l02103"></a>02103     t532 = t523*t76*t90+t499+6.0*t501+2.0*t503;
<a name="l02104"></a>02104     jacmKDRT[0][14] = t111*(t523*t60*t90+t510+t513)+t115*t532;
<a name="l02105"></a>02105     jacmKDRT[1][14] = t119*t532;
<a name="l02106"></a>02106     t535 = -2.0*t191-2.0*t212;
<a name="l02107"></a>02107     t542 = t535*t86+t79*(t535*t84+t79*t535*t82);
<a name="l02108"></a>02108     t563 = t542*t76*t90-t102*t69+t92*(-2.0*t191-6.0*t212)-4.0*t107*t232;
<a name="l02109"></a>02109     jacmKDRT[0][15] = t111*(t542*t60*t90-t89*t69-4.0*t93*t232+t97*(-6.0*t191
<a name="l02110"></a>02110 -2.0*t212))+t115*t563;
<a name="l02111"></a>02111     jacmKDRT[1][15] = t119*t563;
<a name="l02112"></a>02112     <span class="keywordflow">return</span>;
<a name="l02113"></a>02113   }
<a name="l02114"></a>02114 }
<a name="l02115"></a>02115 
<a name="l02116"></a>02116 <span class="preprocessor">#include &lt;math.h&gt;</span>
<a name="l02117"></a>02117 <span class="keywordtype">void</span> calcDistImgProjJacS(<span class="keywordtype">double</span> a[5],<span class="keywordtype">double</span> kc[5],<span class="keywordtype">double</span> qr0[4],<span class="keywordtype">double</span> v[3],
<a name="l02118"></a>02118 <span class="keywordtype">double</span> t[3],<span class="keywordtype">double</span> M[3],<span class="keywordtype">double</span> jacmS[2][3])
<a name="l02119"></a>02119 {
<a name="l02120"></a>02120   <span class="keywordtype">double</span> t1;
<a name="l02121"></a>02121   <span class="keywordtype">double</span> t10;
<a name="l02122"></a>02122   <span class="keywordtype">double</span> t100;
<a name="l02123"></a>02123   <span class="keywordtype">double</span> t101;
<a name="l02124"></a>02124   <span class="keywordtype">double</span> t102;
<a name="l02125"></a>02125   <span class="keywordtype">double</span> t104;
<a name="l02126"></a>02126   <span class="keywordtype">double</span> t108;
<a name="l02127"></a>02127   <span class="keywordtype">double</span> t110;
<a name="l02128"></a>02128   <span class="keywordtype">double</span> t112;
<a name="l02129"></a>02129   <span class="keywordtype">double</span> t114;
<a name="l02130"></a>02130   <span class="keywordtype">double</span> t12;
<a name="l02131"></a>02131   <span class="keywordtype">double</span> t121;
<a name="l02132"></a>02132   <span class="keywordtype">double</span> t123;
<a name="l02133"></a>02133   <span class="keywordtype">double</span> t126;
<a name="l02134"></a>02134   <span class="keywordtype">double</span> t129;
<a name="l02135"></a>02135   <span class="keywordtype">double</span> t130;
<a name="l02136"></a>02136   <span class="keywordtype">double</span> t132;
<a name="l02137"></a>02137   <span class="keywordtype">double</span> t136;
<a name="l02138"></a>02138   <span class="keywordtype">double</span> t137;
<a name="l02139"></a>02139   <span class="keywordtype">double</span> t138;
<a name="l02140"></a>02140   <span class="keywordtype">double</span> t14;
<a name="l02141"></a>02141   <span class="keywordtype">double</span> t141;
<a name="l02142"></a>02142   <span class="keywordtype">double</span> t144;
<a name="l02143"></a>02143   <span class="keywordtype">double</span> t153;
<a name="l02144"></a>02144   <span class="keywordtype">double</span> t158;
<a name="l02145"></a>02145   <span class="keywordtype">double</span> t16;
<a name="l02146"></a>02146   <span class="keywordtype">double</span> t169;
<a name="l02147"></a>02147   <span class="keywordtype">double</span> t174;
<a name="l02148"></a>02148   <span class="keywordtype">double</span> t177;
<a name="l02149"></a>02149   <span class="keywordtype">double</span> t18;
<a name="l02150"></a>02150   <span class="keywordtype">double</span> t180;
<a name="l02151"></a>02151   <span class="keywordtype">double</span> t181;
<a name="l02152"></a>02152   <span class="keywordtype">double</span> t182;
<a name="l02153"></a>02153   <span class="keywordtype">double</span> t185;
<a name="l02154"></a>02154   <span class="keywordtype">double</span> t186;
<a name="l02155"></a>02155   <span class="keywordtype">double</span> t187;
<a name="l02156"></a>02156   <span class="keywordtype">double</span> t189;
<a name="l02157"></a>02157   <span class="keywordtype">double</span> t19;
<a name="l02158"></a>02158   <span class="keywordtype">double</span> t190;
<a name="l02159"></a>02159   <span class="keywordtype">double</span> t191;
<a name="l02160"></a>02160   <span class="keywordtype">double</span> t192;
<a name="l02161"></a>02161   <span class="keywordtype">double</span> t194;
<a name="l02162"></a>02162   <span class="keywordtype">double</span> t2;
<a name="l02163"></a>02163   <span class="keywordtype">double</span> t201;
<a name="l02164"></a>02164   <span class="keywordtype">double</span> t206;
<a name="l02165"></a>02165   <span class="keywordtype">double</span> t211;
<a name="l02166"></a>02166   <span class="keywordtype">double</span> t214;
<a name="l02167"></a>02167   <span class="keywordtype">double</span> t243;
<a name="l02168"></a>02168   <span class="keywordtype">double</span> t247;
<a name="l02169"></a>02169   <span class="keywordtype">double</span> t248;
<a name="l02170"></a>02170   <span class="keywordtype">double</span> t25;
<a name="l02171"></a>02171   <span class="keywordtype">double</span> t250;
<a name="l02172"></a>02172   <span class="keywordtype">double</span> t251;
<a name="l02173"></a>02173   <span class="keywordtype">double</span> t254;
<a name="l02174"></a>02174   <span class="keywordtype">double</span> t255;
<a name="l02175"></a>02175   <span class="keywordtype">double</span> t256;
<a name="l02176"></a>02176   <span class="keywordtype">double</span> t258;
<a name="l02177"></a>02177   <span class="keywordtype">double</span> t26;
<a name="l02178"></a>02178   <span class="keywordtype">double</span> t265;
<a name="l02179"></a>02179   <span class="keywordtype">double</span> t270;
<a name="l02180"></a>02180   <span class="keywordtype">double</span> t275;
<a name="l02181"></a>02181   <span class="keywordtype">double</span> t278;
<a name="l02182"></a>02182   <span class="keywordtype">double</span> t3;
<a name="l02183"></a>02183   <span class="keywordtype">double</span> t307;
<a name="l02184"></a>02184   <span class="keywordtype">double</span> t32;
<a name="l02185"></a>02185   <span class="keywordtype">double</span> t33;
<a name="l02186"></a>02186   <span class="keywordtype">double</span> t35;
<a name="l02187"></a>02187   <span class="keywordtype">double</span> t36;
<a name="l02188"></a>02188   <span class="keywordtype">double</span> t4;
<a name="l02189"></a>02189   <span class="keywordtype">double</span> t42;
<a name="l02190"></a>02190   <span class="keywordtype">double</span> t46;
<a name="l02191"></a>02191   <span class="keywordtype">double</span> t5;
<a name="l02192"></a>02192   <span class="keywordtype">double</span> t51;
<a name="l02193"></a>02193   <span class="keywordtype">double</span> t52;
<a name="l02194"></a>02194   <span class="keywordtype">double</span> t57;
<a name="l02195"></a>02195   <span class="keywordtype">double</span> t58;
<a name="l02196"></a>02196   <span class="keywordtype">double</span> t6;
<a name="l02197"></a>02197   <span class="keywordtype">double</span> t61;
<a name="l02198"></a>02198   <span class="keywordtype">double</span> t67;
<a name="l02199"></a>02199   <span class="keywordtype">double</span> t68;
<a name="l02200"></a>02200   <span class="keywordtype">double</span> t69;
<a name="l02201"></a>02201   <span class="keywordtype">double</span> t7;
<a name="l02202"></a>02202   <span class="keywordtype">double</span> t70;
<a name="l02203"></a>02203   <span class="keywordtype">double</span> t71;
<a name="l02204"></a>02204   <span class="keywordtype">double</span> t72;
<a name="l02205"></a>02205   <span class="keywordtype">double</span> t74;
<a name="l02206"></a>02206   <span class="keywordtype">double</span> t75;
<a name="l02207"></a>02207   <span class="keywordtype">double</span> t76;
<a name="l02208"></a>02208   <span class="keywordtype">double</span> t77;
<a name="l02209"></a>02209   <span class="keywordtype">double</span> t79;
<a name="l02210"></a>02210   <span class="keywordtype">double</span> t80;
<a name="l02211"></a>02211   <span class="keywordtype">double</span> t81;
<a name="l02212"></a>02212   <span class="keywordtype">double</span> t82;
<a name="l02213"></a>02213   <span class="keywordtype">double</span> t85;
<a name="l02214"></a>02214   <span class="keywordtype">double</span> t86;
<a name="l02215"></a>02215   <span class="keywordtype">double</span> t9;
<a name="l02216"></a>02216   <span class="keywordtype">double</span> t92;
<a name="l02217"></a>02217   <span class="keywordtype">double</span> t93;
<a name="l02218"></a>02218   <span class="keywordtype">double</span> t94;
<a name="l02219"></a>02219   <span class="keywordtype">double</span> t97;
<a name="l02220"></a>02220   <span class="keywordtype">double</span> t98;
<a name="l02221"></a>02221   <span class="keywordtype">double</span> t99;
<a name="l02222"></a>02222   {
<a name="l02223"></a>02223     t1 = a[0];
<a name="l02224"></a>02224     t2 = v[0];
<a name="l02225"></a>02225     t3 = t2*t2;
<a name="l02226"></a>02226     t4 = v[1];
<a name="l02227"></a>02227     t5 = t4*t4;
<a name="l02228"></a>02228     t6 = v[2];
<a name="l02229"></a>02229     t7 = t6*t6;
<a name="l02230"></a>02230     t9 = sqrt(1.0-t3-t5-t7);
<a name="l02231"></a>02231     t10 = qr0[1];
<a name="l02232"></a>02232     t12 = qr0[0];
<a name="l02233"></a>02233     t14 = qr0[3];
<a name="l02234"></a>02234     t16 = qr0[2];
<a name="l02235"></a>02235     t18 = t9*t10+t12*t2+t4*t14-t6*t16;
<a name="l02236"></a>02236     t19 = M[0];
<a name="l02237"></a>02237     t25 = t9*t16+t12*t4+t10*t6-t2*t14;
<a name="l02238"></a>02238     t26 = M[1];
<a name="l02239"></a>02239     t32 = t9*t14+t12*t6+t2*t16-t4*t10;
<a name="l02240"></a>02240     t33 = M[2];
<a name="l02241"></a>02241     t35 = -t18*t19-t25*t26-t32*t33;
<a name="l02242"></a>02242     t36 = -t18;
<a name="l02243"></a>02243     t42 = t9*t12-t2*t10-t4*t16-t6*t14;
<a name="l02244"></a>02244     t46 = t42*t19+t25*t33-t32*t26;
<a name="l02245"></a>02245     t51 = t42*t26+t32*t19-t18*t33;
<a name="l02246"></a>02246     t52 = -t32;
<a name="l02247"></a>02247     t57 = t42*t33+t26*t18-t25*t19;
<a name="l02248"></a>02248     t58 = -t25;
<a name="l02249"></a>02249     t61 = t35*t36+t42*t46+t51*t52-t57*t58+t[0];
<a name="l02250"></a>02250     t67 = t35*t52+t42*t57+t46*t58-t51*t36+t[2];
<a name="l02251"></a>02251     t68 = t67*t67;
<a name="l02252"></a>02252     t69 = 1/t68;
<a name="l02253"></a>02253     t70 = t61*t69;
<a name="l02254"></a>02254     t71 = t36*t36;
<a name="l02255"></a>02255     t72 = t42*t42;
<a name="l02256"></a>02256     t74 = t58*t58;
<a name="l02257"></a>02257     t75 = t71+t72+t32*t52-t74;
<a name="l02258"></a>02258     t76 = t70*t75;
<a name="l02259"></a>02259     t77 = t61*t61;
<a name="l02260"></a>02260     t79 = 1/t68/t67;
<a name="l02261"></a>02261     t80 = t79*t77;
<a name="l02262"></a>02262     t81 = t36*t52;
<a name="l02263"></a>02263     t82 = t58*t42;
<a name="l02264"></a>02264     t85 = t81+2.0*t82-t32*t36;
<a name="l02265"></a>02265     t86 = t80*t85;
<a name="l02266"></a>02266     t92 = t35*t58+t51*t42+t57*t36-t46*t52+t[1];
<a name="l02267"></a>02267     t93 = t92*t69;
<a name="l02268"></a>02268     t94 = t36*t58;
<a name="l02269"></a>02269     t97 = t42*t52;
<a name="l02270"></a>02270     t98 = 2.0*t94+t42*t32-t97;
<a name="l02271"></a>02271     t99 = t93*t98;
<a name="l02272"></a>02272     t100 = t92*t92;
<a name="l02273"></a>02273     t101 = t100*t79;
<a name="l02274"></a>02274     t102 = t101*t85;
<a name="l02275"></a>02275     t104 = 2.0*t76-2.0*t86+2.0*t99-2.0*t102;
<a name="l02276"></a>02276     t108 = t77*t69+t69*t100;
<a name="l02277"></a>02277     t110 = kc[4];
<a name="l02278"></a>02278     t112 = kc[1]+t108*t110;
<a name="l02279"></a>02279     t114 = kc[0]+t112*t108;
<a name="l02280"></a>02280     t121 = t104*t114+t108*(t112*t104+t108*t104*t110);
<a name="l02281"></a>02281     t123 = 1/t67;
<a name="l02282"></a>02282     t126 = 1.0+t108*t114;
<a name="l02283"></a>02283     t129 = t126*t61;
<a name="l02284"></a>02284     t130 = t69*t85;
<a name="l02285"></a>02285     t132 = kc[2];
<a name="l02286"></a>02286     t136 = t132*t61;
<a name="l02287"></a>02287     t137 = t79*t92;
<a name="l02288"></a>02288     t138 = t137*t85;
<a name="l02289"></a>02289     t141 = t69*t98;
<a name="l02290"></a>02290     t144 = kc[3];
<a name="l02291"></a>02291     t153 = a[4];
<a name="l02292"></a>02292     t158 = t126*t92;
<a name="l02293"></a>02293     t169 = t144*t61;
<a name="l02294"></a>02294     t174 = t121*t92*t123+t126*t98*t123-t158*t130+t132*(2.0*t76-2.0*t86+6.0*t99
<a name="l02295"></a>02295 -6.0*t102)+2.0*t144*t75*t93-4.0*t138*t169+2.0*t141*t169;
<a name="l02296"></a>02296     jacmS[0][0] = t1*(t121*t61*t123+t126*t75*t123-t129*t130+2.0*t132*t75*t93
<a name="l02297"></a>02297 -4.0*t136*t138+2.0*t136*t141+t144*(6.0*t76-6.0*t86+2.0*t99-2.0*t102))+t153*t174
<a name="l02298"></a>02298 ;
<a name="l02299"></a>02299     t177 = t1*a[3];
<a name="l02300"></a>02300     jacmS[1][0] = t177*t174;
<a name="l02301"></a>02301     t180 = t94+2.0*t97-t58*t18;
<a name="l02302"></a>02302     t181 = t70*t180;
<a name="l02303"></a>02303     t182 = t52*t58;
<a name="l02304"></a>02304     t185 = t36*t42;
<a name="l02305"></a>02305     t186 = 2.0*t182+t42*t18-t185;
<a name="l02306"></a>02306     t187 = t80*t186;
<a name="l02307"></a>02307     t189 = t52*t52;
<a name="l02308"></a>02308     t190 = t74+t72+t36*t18-t189;
<a name="l02309"></a>02309     t191 = t93*t190;
<a name="l02310"></a>02310     t192 = t101*t186;
<a name="l02311"></a>02311     t194 = 2.0*t181-2.0*t187+2.0*t191-2.0*t192;
<a name="l02312"></a>02312     t201 = t114*t194+t108*(t112*t194+t108*t194*t110);
<a name="l02313"></a>02313     t206 = t69*t186;
<a name="l02314"></a>02314     t211 = t137*t186;
<a name="l02315"></a>02315     t214 = t69*t190;
<a name="l02316"></a>02316     t243 = t201*t92*t123+t126*t190*t123-t158*t206+t132*(2.0*t181-2.0*t187+6.0*
<a name="l02317"></a>02317 t191-6.0*t192)+2.0*t144*t180*t93-4.0*t211*t169+2.0*t169*t214;
<a name="l02318"></a>02318     jacmS[0][1] = t1*(t201*t61*t123+t126*t180*t123-t129*t206+2.0*t132*t180*t93
<a name="l02319"></a>02319 -4.0*t136*t211+2.0*t136*t214+t144*(6.0*t181-6.0*t187+2.0*t191-2.0*t192))+t153*
<a name="l02320"></a>02320 t243;
<a name="l02321"></a>02321     jacmS[1][1] = t177*t243;
<a name="l02322"></a>02322     t247 = 2.0*t81+t42*t25-t82;
<a name="l02323"></a>02323     t248 = t70*t247;
<a name="l02324"></a>02324     t250 = t189+t72+t25*t58-t71;
<a name="l02325"></a>02325     t251 = t80*t250;
<a name="l02326"></a>02326     t254 = t182+2.0*t185-t25*t52;
<a name="l02327"></a>02327     t255 = t93*t254;
<a name="l02328"></a>02328     t256 = t101*t250;
<a name="l02329"></a>02329     t258 = 2.0*t248-2.0*t251+2.0*t255-2.0*t256;
<a name="l02330"></a>02330     t265 = t258*t114+t108*(t258*t112+t108*t258*t110);
<a name="l02331"></a>02331     t270 = t250*t69;
<a name="l02332"></a>02332     t275 = t137*t250;
<a name="l02333"></a>02333     t278 = t254*t69;
<a name="l02334"></a>02334     t307 = t265*t92*t123+t126*t254*t123-t270*t158+t132*(2.0*t248-2.0*t251+6.0*
<a name="l02335"></a>02335 t255-6.0*t256)+2.0*t144*t247*t93-4.0*t169*t275+2.0*t169*t278;
<a name="l02336"></a>02336     jacmS[0][2] = t1*(t265*t61*t123+t126*t247*t123-t129*t270+2.0*t132*t247*t93
<a name="l02337"></a>02337 -4.0*t136*t275+2.0*t136*t278+t144*(6.0*t248-6.0*t251+2.0*t255-2.0*t256))+t153*
<a name="l02338"></a>02338 t307;
<a name="l02339"></a>02339     jacmS[1][2] = t307*t177;
<a name="l02340"></a>02340     <span class="keywordflow">return</span>;
<a name="l02341"></a>02341   }
<a name="l02342"></a>02342 }
<a name="l02343"></a>02343 
</pre></div></div>
</td></tr></table>

<br /><hr><br />
<center><a href="http://perception.inf.um.es/QVision">QVision framework</a>.
<a href="http://perception.inf.um.es">PARP research group</a>.
Copyright &copy; 2007, 2008, 2009, 2010, 2011.</center>
<br />
</body>
</html>
